在SQL语句中使用参数向数据库中插入含特殊字符的数据

在SQL语句中使用参数,可以完成如向数据库中插入含特殊字符的数据等常规方式无法完成的功能

在构造SQL语句时,先使用@方式占位,然后通过参数的方式将值传入SQL语句中,在传入参数时,还需要指定参数的数据库数据类型

string[] tmp=new string[3];
string str;
string connstring = "Data Source=.;Initial Catalog=PasswdDB;Integrated Security=True";
SqlConnection myConn = new SqlConnection(connstring);
string cmdstring = "insert into [test] (username,password,mail) values(@username,@password,@mail)";

str = "adaaadd#asdd'x;aa#cddddd";
tmp = str.Split('#');
name = tmp[0].Trim();
passwd = tmp[1].Trim();
mail = tmp[2].Trim();

SqlCommand cmd = new SqlCommand(cmdstring, myConn);
cmd.Parameters.Add("@username", SqlDbType.NVarChar).Value = name;
cmd.Parameters.Add("@password", SqlDbType.NVarChar).Value = passwd;
cmd.Parameters.Add("@mail", SqlDbType.NVarChar).Value = mail;

try
{
	myConn.Open();
    cmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
    MessageBox.Show(ex.Message.ToString());
}
myConn.Close();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在SQL语句插入字符串时,需要注意字符串的引号使用。如果字符串单引号,可以使用双引号将字符串括起来,或者使用转义字符\来转义单引号。例如,可以将插入语句修改为:insert into user VALUES (125,'王小\'二',98); insert into user VALUES (124,'王\'小\'二',98); 这样就可以避免语法错误的问题。\[1\] 引用\[2\]:在SQL语句插入字符串时,可以使用拼接符号将字符串和变量连接起来。例如,可以使用如下语句将变量插入SQL语句sql = "insert into user VALUES (125, '" + 变量名 + "', 98);"\[2\] 引用\[3\]:在判断SQL语句是否正确时,可以使用数据库的执行函数来判断。例如,在使用PHP语言时,可以使用mysqli_query函数执行SQL语句,并根据返回判断是否执行成功。如果执行成功,则说明SQL语句是正确的;如果执行失败,则说明SQL语句存在错误。可以使用如下代码进行判断: $result = mysqli_query($conn, $sql); if($result){ // SQL语句正确,插入正确数据库 } else { // SQL语句错误,插入错误数据库 }\[3\] 需要注意的是,这只是一个示例代码,具体的判断逻辑和插入操作需要根据实际情况进行调整。同时,还需要根据具体的编程语言和数据库类型来选择相应的函数和语法。 #### 引用[.reference_title] - *1* [解决sql插入字符串‘单引号问题](https://blog.csdn.net/qq_52423918/article/details/119736428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [sql语句判断字符串以什么什么开头](https://blog.csdn.net/weixin_39590739/article/details/112040488)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值