在c#中插入语句

kev*_*670 0 c# sql database

我想创建一个SQL语句,将从textBox获取的值插入到该列中的任何值为NULL的列中

我在C#中这样做,我想知道是否有人可以帮助我......我写了一个命令的伪代码版本:

string newPhoneNumber = textBox.Text;
SqlCommand cmd = new SqlCommand(
"INSERT INTO table ([Tag ID]) 
 VALUES ('" + newPhoneNumber + "')"; 
 WHERE columnName = NULL" 
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

ale*_*oot 5

使用NULL而不是NULL:

WHERE columnName IS NULL
Run Code Online (Sandbox Code Playgroud)


Cur*_*urt 5

首先,使用SQL参数.这将阻止SQL注入.不敢相信没有人提到过这个.5个答案,到目前为止,我是唯一提到这一点的人.

像这样构造你的命令:

SqlCommand cmd = new SqlCommand(
"INSERT INTO table ([Tag ID]) SELECT TOP 1 @newPhoneNumber FROM [table] WHERE columnName IS NULL");
cmd.Parameters.Add("@newPhoneNumber", Sqldbtype.nvarchar).Value = textBox.Text;
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

  • +1我也很惊讶.它还超越了SQL注入,它通过将SQL与值分离来使代码更具可读性,并通过字符串转换来阻止数据丢失. (2认同)