我在数据库中建了一个表,有一列是 areaid ,类型设为int,存储下拉菜单选项的值,而下拉菜单是字符串类型的值,如何将字符串类型的值转换成整型值存储到数据库中呢?我写了一段代码,但是系统总是报错:输入字符串的格式不正确。代码如下: protected void Button1_Click(object sender, EventArgs e)
{
string bt = titleTB.Text;
string nr = contantTB.Text;
string ly = sourceTB.Text;
int dq = Convert.ToInt32(DropDownList1.SelectedItem.Value == "" ? "0" : DropDownList1.SelectedItem.Value);
SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=0;database=用户");
string SQL = "insert News(Title,Contant,Newsource,Areaid)values('"+bt+"','"+nr+"','"+ly+"','dq')";
SqlCommand cmd = new SqlCommand(SQL,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); titleTB.Text = "";
contantTB.Text = "";
sourceTB.Text = ""; Response.Redirect("xwlb.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
titleTB.Text = "";
contantTB.Text = "";
sourceTB.Text = ""; 望高手们指点迷津,小女不胜感激!
{
string bt = titleTB.Text;
string nr = contantTB.Text;
string ly = sourceTB.Text;
int dq = Convert.ToInt32(DropDownList1.SelectedItem.Value == "" ? "0" : DropDownList1.SelectedItem.Value);
SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=0;database=用户");
string SQL = "insert News(Title,Contant,Newsource,Areaid)values('"+bt+"','"+nr+"','"+ly+"','dq')";
SqlCommand cmd = new SqlCommand(SQL,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); titleTB.Text = "";
contantTB.Text = "";
sourceTB.Text = ""; Response.Redirect("xwlb.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
titleTB.Text = "";
contantTB.Text = "";
sourceTB.Text = ""; 望高手们指点迷津,小女不胜感激!
=====
string SQL = "insert News(Title,Contant,Newsource,Areaid)values('"+bt+"','"+nr+"','"+ly+"',dq)";
string nr = contantTB.Text;
string ly = sourceTB.Text;上面几个值有没有非法字符?特别是单引号,如果有,需要先把单引号替换成两个单引号。
string bt = titleTB.Text.Replace("'", "''");
string nr = contantTB.Text.Replace("'", "''");
string ly = sourceTB.Text.Replace("'", "''");
把SQL的值取出来,放到数据库里直接做测试