如何在SQL语句中使用我的代码中的变量?

时间:2011-03-09 05:15:11

标签: asp.net sql

我正在将字符串转换为整数,而不是在我的帖子表中插入此整数。

int currTopicID = Convert.ToInt32(id.Text);

SqlCommand cmd = new SqlCommand("INSERT INTO post VALUES(currTopicID)", con);

问题是当我进行插入时currTopicID没有被识别为整数。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:2)

您可以改用参数:

int currTopicID = Convert.ToInt32(id.Text);

SqlCommand cmd = new SqlCommand("INSERT INTO post VALUES(@currTopicID)", con);

cmd.Parameters.Add("@currTopicID", SqlDbType.Int).Value = currTopicID.Tostring();

//OR   cmd.Parameters.AddWithValue("@currTopicID",currTopicID.Tostring()); 

cmd.ExecuteNonQuery();

此致

答案 1 :(得分:1)

你有错误的陈述。

改为使用,

SqlCommand cmd = new SqlCommand("INSERT INTO post VALUES("+currTopicID.ToString()+")", con);

或使用参数化查询。

答案 2 :(得分:0)

在MS SQL中传递变量时最好使用参数。 甚至更好地使用存储过程

答案 3 :(得分:0)

您应该使用带参数的存储过程。通过这样做,你将避免SQL注入。