我試圖做一個插入到交易表中,從某個文本框,SQL Server和C#的Windows窗體一個標籤,用下面的代碼:如何將字符串轉換爲int32 c#?
AppProcess abc = new AppProcess();
SqlConnection sqlconn1 = abc.GetConn();
SqlCommand sqlinsert = new SqlCommand("insert into Payment values
(@TID,@EID,@CustID,@CFName,@CLName,@BID,@BName,@Price,@Qty,@TransDate)",
sqlconn1);
DataTable dtCustomer = new DataTable();
sqlconn1.Open();
sqlinsert.Parameters.Add(new SqlParameter("@TID", SqlDbType.VarChar, 10));
sqlinsert.Parameters.Add(new SqlParameter("@EID", SqlDbType.VarChar, 10));
sqlinsert.Parameters.Add(new SqlParameter("@CustID", SqlDbType.VarChar, 10));
sqlinsert.Parameters.Add(new SqlParameter("@CFName", SqlDbType.VarChar, 100));
sqlinsert.Parameters.Add(new SqlParameter("@CLName", SqlDbType.VarChar, 100));
sqlinsert.Parameters.Add(new SqlParameter("@BID", SqlDbType.VarChar, 10));
sqlinsert.Parameters.Add(new SqlParameter("@BName", SqlDbType.VarChar, 100));
sqlinsert.Parameters.Add(new SqlParameter("@Price", SqlDbType.Int));
sqlinsert.Parameters.Add(new SqlParameter("@Qty", SqlDbType.Int));
sqlinsert.Parameters.Add(new SqlParameter("@Transdate", SqlDbType.Date));
sqlinsert.Parameters["@TID"].Value = tidTxt.Text;
sqlinsert.Parameters["@EID"].Value = eidTxt.Text;
sqlinsert.Parameters["@CustID"].Value = cidTxt.Text;
sqlinsert.Parameters["@CFName"].Value = cfnameTxt.Text;
sqlinsert.Parameters["@CLName"].Value = clnameTxt.Text;
sqlinsert.Parameters["@BID"].Value = bidTxt.Text;
sqlinsert.Parameters["@BName"].Value = bnameTxt.Text;
sqlinsert.Parameters["@Price"].Value = label17.Text;
sqlinsert.Parameters["@Qty"].Value = qtychoiceTxt.Text;
sqlinsert.Parameters["@Transdate"].Value = TransDateTxt.Text;
sqlinsert.ExecuteNonQuery();
我很困惑,哪一行觸發錯誤。以及如何將字符串轉換爲Int32?
你從'label17.Text'和'qtychoiceTxt.Text'得到什麼?從異常的細節來看,顯然你傳遞的是字符串而不是int,導致'FormatException'.please檢查這些字段值是否可以轉換爲int? –
還要爲表單添加驗證,以便用戶*不能*在用於數字數據的文本框中輸入任意文本 –
label17.Text是計算qtychoiceTxt.Text上所選數量與產品價格之後的總成本。我試圖保存這些值 – Irfan