0

如何在具有字符串类型列(在 SQL Server 中)的表中添加类似 "jaja@yahoo.com" 的字符串,我遇到特殊字符问题(在这种情况下为'@')。谢谢

System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(
                         "Data Source=BOGDAN-PC\\BOGDAN;Initial Catalog=ePlanning;Integrated Security=SSPI;Connect Timeout=10;TrustServerCertificate=True ");
                string[] id_dep = ddDepartament.SelectedItem.Text.Split('.');
                con.Open();



                string final = tbemailangajat.Text.

                string sqlstring = " Update angajati set nume='" + tbNumeangajat.Text + "' ,prenume= '" + tbPrenumeangajat.Text + "',email= '" + final + "',telefon= '" + tbTelefonAngajat.Text + "',id_functie= " + ddFunctieAngajat.SelectedItem.Text[0].ToString() + ",id_departament= " + ddDepartament.SelectedItem.Text[0].ToString() + " where id_angajat = " + int.Parse(tbID.Text) + ";";
                System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand(sqlstring, con);
                //  System.Data.SqlClient.SqlDataReader reader;
                comm.ExecuteNonQuery();
                con.Close();
4

2 回答 2

2

不要使用 sql 注入,而是使用参数化查询。

command.CommandText = "insert into table (column) values(@p1)";
command.Parameters.AddWithValue("p1", "email@address.com");
于 2012-07-11T17:15:04.810 回答
0

varchar 应该允许使用 @ 符号,但对于某些符号,它需要 nvarchar 而不是 varchar。nvarchar 存储 unicode,用于支持 ASCII 范围之外的符号。

于 2012-07-11T17:12:34.567 回答