2012-04-17 68 views
0
OleDbConnection conn = new OleDbConnection(connectionString); 
conn.Open(); 
OleDbCommand command = new OleDbCommand(); 
command.Connection = conn; 
command.CommandText = "INSERT INTO myTbl ([username],[password],[firstname],[lastname],[mi],[age],[place],[contact])VALUES (?,?,?,?,?,?,?,?)"; 
command.Parameters.Add("@user", OleDbType.VarChar).Value = txtUsername.Text; 
command.Parameters.Add("@psw", OleDbType.VarChar).Value = txtPassword.Text; 
command.Parameters.Add("@nm", OleDbType.VarChar).Value = txtName.Text; 
command.Parameters.Add("@Lname", OleDbType.VarChar).Value = txtLastName.Text; 
command.Parameters.Add("@mIni", OleDbType.VarChar).Value = txtMI.Text; 
command.Parameters.Add("@ag", OleDbType.Integer).Value = Convert.ToInt32(txtAge.Text); 
command.Parameters.Add("@plc", OleDbType.VarChar).Value = txtPlace.Text; 
command.Parameters.Add("@cntct", OleDbType.Integer).Value = Convert.ToInt32(txtContact.Text); ; 
command.ExecuteNonQuery(); 
lblInfo.Visible = true; 
lblInfo.Text = "Success"; 
conn.Close(); 

這給了我錯誤Input string was not in a correct format。請幫助我。插入數字記錄到ms訪問從c#asp.net

+0

此代碼給我錯誤,輸入字符串格式不正確。所以請幫助我。在此先感謝 – user1337815 2012-04-17 05:03:05

+0

運行它通過調試器,哪一行給出錯誤? – 2012-04-17 05:06:41

+0

另外,請查看'Int32.TryParse'(http://msdn.microsoft.com/en-us/library/system.int32.tryparse.aspx)作爲'Convert.ToInt32'的替代方法。 – 2012-04-17 05:10:59

回答

1

根據代碼和錯誤,最有可能的一個TextBox控件的文本(txtContact或txtAge)不是有效的整數(整數)值。確保你正在驗證輸入。您應該使用RequiredFieldValidator以及RangeValidator或RegularExpressionValidator來確保文本框不爲空且包含有效文本。

您也可以考慮使用System.Int32.TryParse()而不是Convert.ToInt32。

1

您正在將非整數值轉換爲整數值,請檢查txtAge.TexttxtContact.Text及其值,它們應該包含轉換爲整數值的值。