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は@記号を許可する必要がありますが、一部の記号では、varcharの代わりにnvarcharが必要です。nvarcharはユニコードを格納し、ASCII範囲外のシンボルをサポートするために使用されます。

于 2012-07-11T17:12:34.567 に答える