protected void Button1_Click1(object sender, EventArgs e)
    {
        String path = Server.MapPath("App_Data\\dnis2010.mdb");
        String sqlQuery = "UPDATE tableRegister SET (SerialNo,StaffName,StaffID,[Hostname],[Department],[Section],[Extension],Type,IpAddType,IpAdd,MacAdd,CpuBrand,CpuModel,Processor,HardDisk,HDType,RAM,RAMType,MonBrand,MonModel,MonSerialNo,MouBrand,MouModel,MouSerialNo,KeybBrand,KeybModel,KeybSerialNo,CdPlay,CdPlayBrand,CdPlayModel,CdPlayType,Windows,Other,WProdKey,MS,MSProdKey,SoftwareName,LicenceNo,Remarks) VALUES (@TextBox42,@TextBox1,@TextBox2,@TextBox3,@TextBox4,@TextBox5,@TextBox6,@TextBox40,@TextBox8,@TextBox9,@TextBox10,@TextBox11,@TextBox12,@TextBox13,@TextBox14,@TextBox15,@TextBox16,@TextBox17,@TextBox18,@TextBox19,@TextBox20,@TextBox21,@TextBox22,@TextBox23,@TextBox24,@TextBox25,@TextBox26,@TextBox27,@TextBox28,@TextBox29,@TextBox31,@TextBox32,@TextBox33,@TextBox34,@TextBox35,@TextBox36,@TextBox37,@TextBox38,@TextBox39) WHERE SerialNo=@TextBox41"; 
         

        OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + path);
        OleDbCommand aCommand = new OleDbCommand(sqlQuery, aConnection);

        aCommand.Parameters.AddWithValue("TextBox42", TextBox42.Text);
        aCommand.Parameters.AddWithValue("TextBox1", TextBox1.Text);
        aCommand.Parameters.AddWithValue("TextBox2", TextBox2.Text);
        aCommand.Parameters.AddWithValue("TextBox3", TextBox3.Text);
        aCommand.Parameters.AddWithValue("TextBox4", TextBox4.Text);
        aCommand.Parameters.AddWithValue("TextBox5", TextBox5.Text);
        aCommand.Parameters.AddWithValue("TextBox6", TextBox6.Text);
        aCommand.Parameters.AddWithValue("TextBox40", TextBox40.Text);
        aCommand.Parameters.AddWithValue("TextBox8", TextBox8.Text);
        aCommand.Parameters.AddWithValue("TextBox9", TextBox9.Text);
        aCommand.Parameters.AddWithValue("TextBox10", TextBox10.Text);
        aCommand.Parameters.AddWithValue("TextBox11", TextBox11.Text);
        aCommand.Parameters.AddWithValue("TextBox12", TextBox12.Text);
        aCommand.Parameters.AddWithValue("TextBox13", TextBox13.Text);
        aCommand.Parameters.AddWithValue("TextBox14", TextBox14.Text);
        aCommand.Parameters.AddWithValue("TextBox15", TextBox15.Text);
        aCommand.Parameters.AddWithValue("TextBox16", TextBox16.Text);
        aCommand.Parameters.AddWithValue("TextBox17", TextBox17.Text);
        aCommand.Parameters.AddWithValue("TextBox18", TextBox18.Text);
        aCommand.Parameters.AddWithValue("TextBox19", TextBox19.Text);
        aCommand.Parameters.AddWithValue("TextBox20", TextBox20.Text);
        aCommand.Parameters.AddWithValue("TextBox21", TextBox21.Text);
        aCommand.Parameters.AddWithValue("TextBox22", TextBox22.Text);
        aCommand.Parameters.AddWithValue("TextBox23", TextBox23.Text);
        aCommand.Parameters.AddWithValue("TextBox24", TextBox24.Text);
        aCommand.Parameters.AddWithValue("TextBox25", TextBox25.Text);
        aCommand.Parameters.AddWithValue("TextBox26", TextBox26.Text);
        aCommand.Parameters.AddWithValue("TextBox27", TextBox27.Text);
        aCommand.Parameters.AddWithValue("TextBox28", TextBox28.Text);
        aCommand.Parameters.AddWithValue("TextBox29", TextBox29.Text);
        aCommand.Parameters.AddWithValue("TextBox31", TextBox31.Text);
        aCommand.Parameters.AddWithValue("TextBox32", TextBox32.Text);
        aCommand.Parameters.AddWithValue("TextBox33", TextBox33.Text);
        aCommand.Parameters.AddWithValue("TextBox34", TextBox34.Text);
        aCommand.Parameters.AddWithValue("TextBox35", TextBox35.Text);
        aCommand.Parameters.AddWithValue("TextBox36", TextBox36.Text);
        aCommand.Parameters.AddWithValue("TextBox37", TextBox37.Text);
        aCommand.Parameters.AddWithValue("TextBox38", TextBox38.Text);
        aCommand.Parameters.AddWithValue("TextBox39", TextBox39.Text);
        aCommand.Parameters.AddWithValue("TextBox41", TextBox41.Text);

        try
        {
            aConnection.Open();
            int row = aCommand.ExecuteNonQuery();

            ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Record Has Been Updated!');</script>");
            aConnection.Close();
        }

        catch (Exception)
        {
            
            ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Fail to Updated!');</script>");
        }
    }

I've try to update my database but nothing happen..only popup message alert "Fail to Updated"..can anyone help me..

Wow... really? Your other post was already moved over here by a moderator, you've already had people working on your code for days now... duplicating this thread seems a bit redundant :)

That being said try changing

catch (Exception)
{
    ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Fail to Updated!');</script>");
}

to this

catch (Exception ex)
{
    ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('" + ex.ToString() + "');</script>");
}

This should give the exception detail that generates your problem instead of just "Fail to Updated". Once you have the actual exception detail post it here so we can see what, specifically, is generating your problem. ((As we've asked you to do in various ways for 2 days now in your original thread))

Thanks again :)

still nothing happen..i'm confusing right now..

While using access database always first make sure you are not using any keywords as your column_name, Other wise it will give you error while updating without giving any proper exception message. You must post the original exception message to get the better idea of your problem.

Right, I didn't solve the problem with my suggestion above but...

it should be telling you the exception that is being thrown in the pop-up and what I'm asking you to do is to write that exception in this thread so we (the rest of us who've been trying to help you troubleshoot) can see what error you are getting.

This will help us to figure out what specifically is malfunctioning in your code and help us better solve your issue for you.

So... When the pop-up comes up (using the code modification I gave you in THIS thread above) please write down or copy or whatever the error message it shows and paste it in this thread.

what i can say here is nothing error come up..when i build all succeed..but when in browser,when i try to update my data from my database and when i click update button, popup alert message come up which show Failed to Update!..i don't know what wrong..

Kayfar...

1) Did you change the code to

catch (Exception ex)
{
    ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('" + ex.ToString() + "');</script>");
}

2) with this code in place, not your original code of

catch (Exception)
{
    ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Fail to Updated!');</script>");
}

I want you to run your app in the browser.

Instead of receiving "Failed to Update!" you should receive a different message that represents the error that the application is encountering when it fails.

This error is what we need to see.

alert ('System.Data.OleDb.OleDbException: Syntax error in UPDATE statement.
596 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
597 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
598 at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
599 at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
600 at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
601 at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
602 at Update.Button1_Click1(Object sender, EventArgs e) in c:\Users\keOn_kAyFar\Documents\Visual Studio 2008\WebSites\DNIS\Update.aspx.cs:line 268');

This is what i got when i browse in web browser..i'm using firebug in firefox which detect the error..

You could try executing the query from your database itself , see whether it works or not, and try changing your column name 'TYPE' to some other word like 'TYPE123', I feel its happening because of keyword and access is not allowing those.

still the same..still cannot update my database even i change TYPE into TYPE123..

Ok, now that we've got an error message result...

Read this thread that might help resolve your issue

My first guess based on the above thread and the error you posted is a mis-match between the data types you are trying to insert and the data type of the column in the access database OR that you've used a reserved word in the definition of one of your columns.

Beyond that, I'll let the Access experts around here troubleshoot going forward :) but at least we have some errors to work with now.

Your update statement is wrong. you can't update SerialNo from this query.....

so,what the exactly the true?can u tell me..i've already remove the serialno from update statement..so what now?

Your update statement is wrong. you can't update SerialNo from this query.....

Any chance you could provide some code example for kayfar so they can see what would correct it?

As for me, I'm going to sleep :zzz:

i agree with lusiphur..can you provide any code example mono_jit23..

if (con.State == ConnectionState.Open)
        con.Close();
        con.Open();
        try
        {

            OleDbCommand cmdSave = new OleDbCommand("update TBL_LIB_DOC_MST set DOC_TITLE=@DOC_TITLE,PUBLISH_DT=@PUBLISH_DT,PURCHASE_DT=@PURCHASE_DT,AUTHOR1=@AUTHOR1,AUTHOR2=@AUTHOR2,EDITOR=@EDITOR," +
                "TRANSLATOR=@TRANSLATOR,PUBLISHER=@PUBLISHER,PLACE=@PLACE,Language_Name=@LANGUAGE,DOC_TYPE=@DOC_TYPE,PAGE_COUNT=@PAGE_COUNT,VOLUME=@VOLUME,EDITION=@EDITION,PRICE=@PRICE,CURR_CD=@CURR_CD,ISBN_ISSN_NO=@ISBN_ISSN_NO,LIB_REG_NO=@LIB_REG_NO,KEYWD1=@KEYWD1,CTGRY_NO=@CTGRY_NO,FRONT_PAGE_PIC_URL=@FRONT_PAGE_PIC_URL,ABSTRACT=@ABSTRACT,LOCATION=@LOCATION,STATUS=@STATUS where DOC_ID="+doc_id, con);

           cmdSave.CommandType = CommandType.Text;

           if (txtDocTitle.Text.Trim() == "" || txtDocTitle.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@DOC_TITLE", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@DOC_TITLE", Convert.ToString(txtDocTitle.Text.Trim()));
           }
            //1

           if (txtPublishDt.Text.Trim()== "" || txtPublishDt.Text.Trim()== null)
           {
               cmdSave.Parameters.AddWithValue("@PUBLISH_DT", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PUBLISH_DT", publishDate);
           }
            //2
           if (txtPurchaseDt.Text.Trim() == "" || txtPurchaseDt.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@PURCHASE_DT", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PURCHASE_DT", purchaseDate);
           }
            //3
           if (txtAuth1.Text.Trim() == "" || txtAuth1.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@AUTHOR1", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@AUTHOR1", txtAuth1.Text.Trim());
           }
            //4
           if (txtAuth2.Text.Trim() == "" || txtAuth2.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@AUTHOR2", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@AUTHOR2", txtAuth2.Text.Trim());
           }
            //5
           if (txtEditor.Text.Trim() == "" || txtEditor.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@EDITOR", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@EDITOR", txtEditor.Text.Trim());
           }
            //6
           if (txtTranslator.Text.Trim() == "" || txtTranslator.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@TRANSLATOR", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@TRANSLATOR", txtTranslator.Text.Trim());
           }
            //7
           if (txtPublisher.Text.Trim() == "" || txtPublisher.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@PUBLISHER", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PUBLISHER", txtPublisher.Text.Trim());
           }
            //8
           if (txtPlace.Text.Trim() == "" || txtPlace.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@PLACE", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PLACE", txtPlace.Text.Trim());
           }
            //9
           if (ddlLanguage.SelectedItem.Text == "" || ddlLanguage.SelectedItem.Text == null)
           {
               cmdSave.Parameters.AddWithValue("@LANGUAGE", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@LANGUAGE", ddlLanguage.SelectedItem.Text);
           }
           //10
           if (ddlDoctype.SelectedItem.Text == "" || ddlDoctype.SelectedItem.Text == null)
           {
               cmdSave.Parameters.AddWithValue("@DOC_TYPE", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@DOC_TYPE", ddlDoctype.SelectedItem.Text);
           }
            //11
           if (txtPgeno.Text.Trim() == "" || txtPgeno.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@PAGE_COUNT", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PAGE_COUNT", txtPgeno.Text.Trim());
           }
            //12
           if (txtVolno.Text.Trim() == "" || txtVolno.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@VOLUME", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@VOLUME", txtVolno.Text.Trim());
           }
            //13
           if (txtEdition.Text.Trim() == "" || txtEdition.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@EDITION", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@EDITION", txtEdition.Text.Trim());
           }
            //14
           if (txtPrice.Text.Trim() == "" || txtPrice.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@PRICE", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@PRICE", txtPrice.Text.Trim());
           }
           //15
           if (ddlCurrency.SelectedItem.Text == "" || ddlCurrency.SelectedItem.Text == null)
           {
               cmdSave.Parameters.AddWithValue("@CURR_CD", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@CURR_CD", ddlCurrency.SelectedItem.Text);
           }
            //16
           if (txtIsbn.Text.Trim() == "" || txtIsbn.Text.Trim() == null)
           {
               id = "";
               cmdSave.Parameters.AddWithValue("@ISBN_ISSN_NO", DBNull.Value);
           }
           else
           {
               id = txtIsbn.Text;
               cmdSave.Parameters.AddWithValue("@ISBN_ISSN_NO", txtIsbn.Text.Trim());
           }
            //17
           if (txtAccno.Text.Trim() == "" || txtAccno.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@LIB_REG_NO", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@LIB_REG_NO", txtAccno.Text.Trim());
           }

            //18
           if (lstKeyword.SelectedItem.Text == "" || lstKeyword.SelectedItem.Text == null)
           {
               cmdSave.Parameters.AddWithValue("@KEYWD1", DBNull.Value);
           }

           else //if (lstKeyword.SelectedItem.Attributes.Count>= 1)
           {
               
                   cmdSave.Parameters.AddWithValue("@KEYWD1",txtItem.text);
           }

            //19
           if (txtCategory.Text.Trim() == "" || txtCategory.Text.Trim() == null)
           {
               cmdSave.Parameters.AddWithValue("@CTGRY_NO", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@CTGRY_NO", txtCategory.Text.Trim());
           }
            //20
           if (f_name=="" || f_name==null)
           {
               
               cmdSave.Parameters.AddWithValue("@FRONT_PAGE_PIC_URL",f_name);
           }
            //21
           if (txtAbstruct.Text.Trim() == "" || txtAbstruct.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@ABSTRACT", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@ABSTRACT", txtAbstruct.Text.Trim());
           }
            //22
           if (txtLocation.Text.Trim() == "" || txtLocation.Text.Trim() ==null)
           {
               cmdSave.Parameters.AddWithValue("@LOCATION", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@LOCATION", txtLocation.Text.Trim());
           }
            //23
           if (txtStatus.Text.Trim() == "" || txtStatus.Text.Trim()==null)
           {
               cmdSave.Parameters.AddWithValue("@STATUS", DBNull.Value);
           }
           else
           {
               cmdSave.Parameters.AddWithValue("@STATUS", txtStatus.Text.Trim());
           }
           cmdSave.ExecuteNonQuery();
           
           cmdSave.Parameters.Clear();
        }
        catch (Exception err)
        {
            Response.Write("<script type=\"text/javascript\"> alert('Error While Update! Check Your Inputs');</script>");
        }

I have this code running in client place..... This should work.

thanks..i'll try your code..if any problem happen i'll post here..thanks 4 helping..

If I had faced d similar problem, before asking to sum1 else i Would debug and get the line of error, then should hav checked all the parameter value is ok or not, then i would hav gone to my database and execute the same query from the backend.....
If still problem exists then I will check column names as reseve words or not, then only i could hav asked for help. ;):D

your code seem like complicated to me..i've try your but i'm quite confusing in the middle of it..i'm just a newbie in asp.net and c#..did u've any other code which not that complicated..i'm sorry because i'm just new in this field..

still cannot update my database..what should i do..

String path = Server.MapPath("App_Data\\dnis2010.mdb");
        String sqlQuery = "UPDATE tableRegister SET SerialNo=@str2,StaffName=@str3,StaffID=@str4,[Hostname]=@str5,[Department]=@str6,[Section]=@str7,[Extension]=@str8,Type=@str9,IpAddType=@str10,IpAdd=@str11,MacAdd=@str12,CpuBrand=@str13,CpuModel=@str14,Processor=@str15,HardDisk=@str16,HDType=@str17,RAM=@str18,RAMType=@str19,MonBrand=@str20,MonModel=@str21,MonSerialNo=@str22,MouBrand=@str23,MouModel=@str24,MouSerialNo=@str25,KeybBrand=@str26,KeybModel=@str27,KeybSerialNo=@str28,CdPlay=@str29,CdPlayBrand=@str30,CdPlayModel=@str31,CdPlayType=@str32,Windows=@str33,Other=@str34,WProdKey=@str35,MS=@str36,MSProdKey=@str37,SoftwareName=@str38,LicenceNo=@str39,Remarks=@str40 WHERE SerialNo=@str1";


        OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + path);
        OleDbCommand aCommand = new OleDbCommand(sqlQuery, aConnection);

        aCommand.Parameters.AddWithValue("@str2", TextBox2.Text);
        aCommand.Parameters.AddWithValue("@str3", TextBox3.Text);
        aCommand.Parameters.AddWithValue("@str4", TextBox4.Text);
        aCommand.Parameters.AddWithValue("@str5", TextBox5.Text);
        aCommand.Parameters.AddWithValue("@str6", TextBox6.Text);
        aCommand.Parameters.AddWithValue("@str7", TextBox7.Text);
        aCommand.Parameters.AddWithValue("@str8", TextBox8.Text);
        aCommand.Parameters.AddWithValue("@str9", TextBox9.Text);
        aCommand.Parameters.AddWithValue("@str10", TextBox10.Text);
        aCommand.Parameters.AddWithValue("@str11", TextBox11.Text);
        aCommand.Parameters.AddWithValue("@str12", TextBox12.Text);
        aCommand.Parameters.AddWithValue("@str13", TextBox13.Text);
        aCommand.Parameters.AddWithValue("@str14", TextBox14.Text);
        aCommand.Parameters.AddWithValue("@str15", TextBox15.Text);
        aCommand.Parameters.AddWithValue("@str16", TextBox16.Text);
        aCommand.Parameters.AddWithValue("@str17", TextBox17.Text);
        aCommand.Parameters.AddWithValue("@str18", TextBox18.Text);
        aCommand.Parameters.AddWithValue("@str19", TextBox19.Text);
        aCommand.Parameters.AddWithValue("@str20", TextBox20.Text);
        aCommand.Parameters.AddWithValue("@str21", TextBox21.Text);
        aCommand.Parameters.AddWithValue("@str22", TextBox22.Text);
        aCommand.Parameters.AddWithValue("@str23", TextBox23.Text);
        aCommand.Parameters.AddWithValue("@str24", TextBox24.Text);
        aCommand.Parameters.AddWithValue("@str25", TextBox25.Text);
        aCommand.Parameters.AddWithValue("@str26", TextBox26.Text);
        aCommand.Parameters.AddWithValue("@str27", TextBox27.Text);
        aCommand.Parameters.AddWithValue("@str28", TextBox28.Text);
        aCommand.Parameters.AddWithValue("@str29", TextBox29.Text);
        aCommand.Parameters.AddWithValue("@str30", TextBox30.Text);
        aCommand.Parameters.AddWithValue("@str31", TextBox31.Text);
        aCommand.Parameters.AddWithValue("@str32", TextBox32.Text);
        aCommand.Parameters.AddWithValue("@str33", TextBox33.Text);
        aCommand.Parameters.AddWithValue("@str34", TextBox34.Text);
        aCommand.Parameters.AddWithValue("@str35", TextBox35.Text);
        aCommand.Parameters.AddWithValue("@str36", TextBox36.Text);
        aCommand.Parameters.AddWithValue("@str37", TextBox37.Text);
        aCommand.Parameters.AddWithValue("@str38", TextBox38.Text);
        aCommand.Parameters.AddWithValue("@str39", TextBox39.Text);
        aCommand.Parameters.AddWithValue("@str40", TextBox40.Text);
        aCommand.Parameters.AddWithValue("@str1", TextBox1.Text);

        try
        {
            aConnection.Open();
            int row = aCommand.ExecuteNonQuery();

            ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Record Has Been Updated!');</script>");
            aConnection.Close();
        }

        catch (Exception)
        {
            //ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('" + ex.ToString() + "');</script>");
            //MessageBox.Show(e.ToString());
            ClientScript.RegisterStartupScript(typeof(Page), "PopUpMsg", "<script>alert ('Fail to Updated!');</script>");
        }

Finally,I'll be able to update..after struggling for a week..thnks to lushiphur and mono_jit..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.