SQLServer存在单引号字符串与INSERT INTO 语句的' '产生冲突问题。如何向数据库插入带有单引号(')的字符串用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!我们在 编程当中,经常会遇到在操作 数据库时,向表里插入带有单引号的字符串。如果不作处理程序会报错,下面看看我们是怎么的处理它的。用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(')时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误!解决方法:遍历字符串,把一个(')换成两个(' ')就可以了,在C#里,其实用str.Replace("'", "''");就OK了,这是因为SQL是用两个单引号来代替一个单引号的,下面举个例子: private void btAdd_Click(object sender, EventArgs e) { string chinese = this.txtChinese.Text.Trim(); string english = this.txtEnglish.Text.Trim(); if (chinese == "") { MessageBox.Show("请输入中文!"); } else if (english == "") { MessageBox.Show("请输入英文!"); } else { oleConnection1.Open(); string sql = "Select * From info Where chinese='" + CheckString(chinese) + "' And english='" + CheckString(english) + "'"; this.oleCommand1.CommandText = sql; if (null == oleCommand1.ExecuteScalar()) { string sql1 = "Insert Into info(chinese,english) Values('" + CheckString(chinese) + "','" + CheckString(english) + "')"; oleCommand1.CommandText = sql1; oleCommand1.ExecuteNonQuery(); MessageBox.Show("信息添加成功!", "提示"); this.txtChinese.Text = ""; this.txtEnglish.Text = ""; } else { MessageBox.Show("信息添加失败,中文和英文已经存在了!", "警告"); this.txtChinese.Text = ""; this.txtEnglish.Text = ""; } oleConnection1.Close(); } } private string CheckString(string str) { string returnStr = ""; if (str.IndexOf("'") != -1) //判断字符串是否含有单引号 { returnStr = str.Replace("'", "''"); str = returnStr; } return str; }这里为什么要用另一个变量(returnStr)来接收替换后的值呢?不然替换会失效,调用Replace()方法不能改变str本身,string对象虽然是引用类型,但它具有很多值类型特征,比较特殊。 原创:https://blog.csdn.net/david_520042/article/details/11472283
向SQLServer插入单引号问题
来源:这里教程网
时间:2026-03-02 12:06:23
作者:
编辑推荐:
- 向SQLServer插入单引号问题03-02
- 富达主管{7288481}Oracle Goldengate 12c打pus补丁03-02
- 自媒体一键发布助手,同步发布多个平台,解放双手!03-02
- SQLServer的死锁分析(1):页锁03-02
- SQLServer开启CDC功能(2)03-02
- SQL查询 多列合并成一行用逗号隔开stuff()03-02
- union和union all 关键字03-02
- SQL Server 查询表注释和字段03-02
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 自媒体一键发布助手,同步发布多个平台,解放双手!
自媒体一键发布助手,同步发布多个平台,解放双手!
26-03-02 - SQLServer的死锁分析(1):页锁
SQLServer的死锁分析(1):页锁
26-03-02 - SQLServer开启CDC功能(2)
SQLServer开启CDC功能(2)
26-03-02 - SQL查询 多列合并成一行用逗号隔开stuff()
SQL查询 多列合并成一行用逗号隔开stuff()
26-03-02 - 天九集团:责任型创新促进共赢
天九集团:责任型创新促进共赢
26-03-02 - Sqlserver查询alwayson同步情况脚本(2)
Sqlserver查询alwayson同步情况脚本(2)
26-03-02 - 把TXT文本导入SQLServer 出错:数据转换失败
把TXT文本导入SQLServer 出错:数据转换失败
26-03-02 - SQLServer开启CDC功能(1)
SQLServer开启CDC功能(1)
26-03-02 - SQL Server数据库mdf文件中了勒索病毒*.mdf.ReadInstructions
- 统信UOS共享文件夹权限密码设置方法图解教程
统信UOS共享文件夹权限密码设置方法图解教程
26-03-02
