• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C#数据库操作特殊字符单引号三种处理方式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

方法一:转义字符

使用单引号作为转义字符,即连续使用两个单引号。

 

select * from jq_jjjl where bt like '%女子''%'


上述代码会匹配jq_jjjl表中所有bt字段包含 女子'的记录。(注意单引号)

 

方法二:SqlDataAdapter

 

string constr = "Server=" + DBConfig.DBAPP_IP + ";user ;
string cmdstr = "SELECT * FROM WIRELESS_POLICE_T";

// Create the adapter with the selectCommand txt and the connection string
SqlDataAdapter adapter = new SqlDataAdapter(cmdstr, constr);

// Create the builder for the adapter to automatically generate the Command when needed
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

// Create and fill the DataSet using the WIRELESS_POLICE_T
DataSet dataset = new DataSet();
adapter.Fill(dataset, "WIRELESS_POLICE_T");

// Get the WIRELESS_POLICE_T table from the dataset
DataTable table = dataset.Tables["WIRELESS_POLICE_T"];

// Indicate DataColumn WLPid is unique, This is required by the SqlCommandBuilder to update the WIRELESS_POLICE_T table
table.Columns["WLPid"].Unique = true;

// New row from the WIRELESS_POLICE_T table
DataRow row = table.NewRow();

// Update a column
//row["xxx"] = xxx;
// 你的赋值语句
// Now update the WIRELESS_POLICE_T using the adapter
// The OracleCommandBuilder will create the UpdateCommand for the adapter to update the WIRELESS_POLICE_T table
adapter.Update(dataset, "WIRELESS_POLICE_T");


方法三:构造SQL语句(类似java中的PreparedStatement)

 

 

            string constr = "Server=" + DBConfig.DBAPP_IP + ";user ;
            SqlConnection conn = new SqlConnection(constr);

            // 此处可能存在sql语句中含有单引号的问题
            /**
            string cmdstr = "update WIRELESS_PERSON_T set PersonName='"+person.getPersonName()
                +"', PersonSex='"+person.getPersonSex()+"', YID='"+person.getYID()
                +"', caseinfoid='"+person.getCaseinfoid()+"', Kind='"+person.getKind()
                +"', caseremark='"+person.getCaseremark()+"', ArrivalKind='"+person.getArrivalKind()
                +"' where personId="+person.getPersonId();
             * */

            string cmdstr = "update WIRELESS_PERSON_T set PersonName=@PersonName, PersonSex='" + person.getPersonSex() 
                + "', YID=@YID, caseinfoid='" + person.getCaseinfoid() + "', Kind='" + person.getKind()
                + "', caseremark=@Caseremark, ArrivalKind='" + person.getArrivalKind() + "' where PersonId=" + person.getPersonId();
            Console.WriteLine(cmdstr);
            //SqlCommand command = new SqlCommand(cmdstr, conn);
            SqlCommand command = conn.CreateCommand();
            command.CommandText = cmdstr;
            command.Parameters.Add(new SqlParameter("PersonName", person.getPersonName()));
            command.Parameters.Add(new SqlParameter("YID", person.getYID()));
            command.Parameters.Add(new SqlParameter("Caseremark", person.getCaseremark()));

            try
            {
                conn.Open();
                command.ExecuteNonQuery();
                Console.WriteLine("保存信息成功!");
            }
            catch (Exception e2)
            {
                MessageBox.Show("保存出错!" + e2.Message);
                return;

            }
            finally
            {
                conn.Close();
            }

上述代码中person为一个对象实例。

 


 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#制作密码文本框发布时间:2022-07-10
下一篇:
C#中通过Selenium定位a标签的问题发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap