将TextBox转换为整数并存储在Datatable中

时间:2016-05-06 10:20:12

标签: c#

  

我想存储Total Text Box值,它是datatable中两个字段的总和但是在存储数据后它给出了错误格式的错误

private void button1_Click(object sender, EventArgs e)
{
     nn.Open();
     SqlCeCommand cmd = new SqlCeCommand("INSERT INTO name (id,name,price,cost,total,Date) VALUES('" + idTextBox.Text + "', '" + nameTextBox.Text + "', '" + priceTextBox.Text + "', '" + costTextBox.Text + "','" + totalTextBox.Text + "', '" + dateDateTimePicker.Value.ToString("dd/MMMM/yy") + "' )", nn);
     cmd.ExecuteNonQuery();
     nn.Close();

//总文本框计算

private void button1_Click(object sender, EventArgs e)    
totalTextBox.Text = (Convert.ToInt32(priceTextBox.Text) + Convert.ToInt32(costTextBox.Text)).ToString();

1 个答案:

答案 0 :(得分:-1)

首先,您应该避免直接将TextBox.Text值放入INSERT语句中。它可以用于SQL注入(参见SQLParameter类)

使用

int intValue = 0;
bool correct = int.TryParse(TextBox.Text, out intValue);
if (correct)
{
  ...         // this string parses well
} else 
{
  ...         // this is not palatable
}

您可以将字符串转换为名为intValue的整数。

如果它不起作用,请检查数据库表中列的数据类型。