public void save(string val)
{
var insertval = "insert into test_table values(" +val+")";
try
{
DBcon.ConnectionOpen();
SqlDataReader sqlReader = command.ExecuteReader();
SqlCommand cmd1 = new SqlCommand(insertval, DBcon.SqlConn);
sqlReader.Close();
cmd1.ExecuteNonQuery();
cmd1.Dispose();
}
catch (Exception ex)
{
throw ex;
}
finally
{
DBcon.ConnectionClose();
}
}
答案 0 :(得分:4)
sql语句中有错误。我们不知道val的值是什么,但它应该在var insertval = "insert into test_table values('" +val+"')";
中,就像我写的那样。
'
另外使用SqlCommand.Parameters来阻止sql注入,在这种情况下你不需要 var insertval = "insert into test_table values(@Value)";
cmd1.Parameters.AddWithValue("@Value", val);
在声明SqlCommand后添加此内容。
SELECT bot_id, name, username
FROM bots
ORDER BY substring_index(name, '#', 1), substring_index(name, '#', -1) + 0
答案 1 :(得分:1)
不,不要这样做。请看这一行var insertval = "insert into test_table values(" +val+")";
并告诉我当有人将);DROP TABLES
作为他们的名字时会发生什么?