当“'”用于插入失败。 例如字符串是:他是一个男孩。 我已经尝试跳过““”使用转义符,但我相信这是不正确的做法。
textBox3.Text.Replace("'", " \'");
string sql= "insert into gtable (1text,1memo) values ('"+textBox3.Text+"',null)";
OleDbCommand cmd = new OleDbCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
我确实有“'”和‘`’更换的选择,但这种变化在DB的文字以及。 我希望保留“'”一样,也把它插入到数据库。
尝试
string sql= "insert into gtable (1text, 1memo) " +
"values ('" + textBox3.Text.Replace("'", "''") + "', null)";
试试这个
string sql= "insert into gtable (1text,1memo) values (@col1,NULL)";
OleDbCommand cmd = new OleDbCommand(sql, con);
cmd.Parameters.AddWithValue("@col1",textBox3.Text);
con.Open();
要插入数据库中单引号替换'
与''
。 在数据库中只有单引号会去。
用这个
string sql= "insert into gtable (1text,1memo) values ('"
+ textBox3.Text.Replace("'", "''") + "', null)";
其余的代码是一样的。
在MSDN文章与string.replace它说:
返回在当前字符串中指定的Unicode字符或字符串的所有事件都与其他指定的Unicode字符或字符串替换一个新的字符串 。
在第一行,你不textBox3.Text的值赋给这个方法调用的结果,这意味着绝对没有任何反应。
此外,为了躲避在SQL Server中的报价,只需要使用两个单引号(注:不一样的事,作为一个双引号)。
这应该给您预期的结果:
textBox3.Text = textBox3.Text.Replace("'", "''");
此外,您不妨看看的String.Format为您的字符串连接需求。
String escapedInput = textBox3.Text.Replace("'", "''");
String sql = String.Format("insert into gtable (1text,1memo) values ('{0}',null)", escapedInput);
最好的办法是:
string Name = Server.HtmlEncode(txtName.Text);