日期:2014-5-20 浏览次数:20286次

如果TextBox1中的文本是He's pen is red.(注意有一个单引号),怎样改动下面的代码才能向数据表中插入一条记录呢?
string   connStr   =   "Data   Source=.;Initial   Catalog=NewDB;Integrated   Security=True ";
string   insertStr   =   "Insert   Into   Student(id,name,remark)   values( '1 ', '张三 ', ' "+this.TextBox1.Text+ " ') ";       -------→①
SqlConnection   cn   =   new   SqlConnection(connStr);
SqlCommand   cmd   =   new   SqlCommand(insertStr,   cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();


--------------
对①句,如果没有单引号可以顺利插入到数据表中。现在有一个单引号,怎样向student表中插入一条记录呢?

------解决方案--------------------
将一个单引号替换为两个单引号,用replace
------解决方案--------------------
TextBox1.Text = TextBox1.Text.Replace( " ' ", " ' ' ");
------解决方案--------------------
string insertStr = "Insert Into Student(id,name,remark) values( '1 ', '张三 ', ' "+this.TextBox1.Text.Replace( " ' ", " ' ' ")+ " ') ";
------解决方案--------------------
将一个单引号替换为两个单引号