通过文本框在sql server 2005中存储数据时获取错误

Sag*_*gar 2 c# database asp.net sql-server-2005

我通过文本框和按钮在SQL Server 2005中存储数据(大约1500字).我正在使用此代码.

protected void Button1_Click(object sender, EventArgs e)
{
    conn.Open();
    String query = String.Format("insert into try (data,sno) values ('{0}',22)",TextBox1.Text);
    SqlCommand cmd = new SqlCommand(query, conn);
    cmd.ExecuteNonQuery();
    Label1.Text = "submitted";
    conn.Close();
}
Run Code Online (Sandbox Code Playgroud)

我有'data'数据类型列'char(4000)'.

问题是,当我存储第1段(约1500字)时,它成功存储.但是当我存储另一段(大约1500字)时,它会显示错误.

"'s'附近的语法不正确.字符串后面的未闭合引号',22)'."

问题是什么 ??

Ste*_*eve 7

使用参数

String query = "insert into try (data,sno) values (@data,22)"; 
SqlCommand cmd = new SqlCommand(query, conn); 
cmd.Parameters.AddWithValue("@data", TextBox1.text);
cmd.ExecuteNonQuery(); 
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您无需担心文本中是否存在单引号,最重要的是,您可以避免SqlInjection攻击