C# 如何将unicode(阿拉伯语)字符插入SQL Server数据库
我想插入Unicode字母我已经尝试将数据类型更改为C# 如何将unicode(阿拉伯语)字符插入SQL Server数据库,c#,asp.net,sql,sql-server,C#,Asp.net,Sql,Sql Server,我想插入Unicode字母我已经尝试将数据类型更改为nvarchar(max),我的select语句是 string str = "insert into Table1( (N'title), datee, post, cat, imageurl) values ('" + TextBox1.Text + "','" + DateTime.Now.ToShortDateString() + "','" + TextBox2.Text + "','" + DropDownList1.Select
nvarchar(max)
,我的select语句是
string str = "insert into Table1( (N'title), datee, post, cat, imageurl) values ('" + TextBox1.Text + "','" + DateTime.Now.ToShortDateString() + "','" + TextBox2.Text + "','" + DropDownList1.SelectedItem.Text + "','" + path+"')";`
您应该始终使用参数化查询来避免SQL注入攻击。参数还使您能够显式定义所需的数据类型和长度。此外,通过使用参数,您不需要处理大量的单引号和双引号等等-代码变得更干净、更易于阅读-而且您还避免了许多错误 尝试编写如下代码:
// define your INSERT statement with PARAMETERS
string insertStmt = "INSERT INTO dbo.Table1(title, datee, post, cat, imageurl) " +
"VALUES(@title, @datee, @post, @cat, @imageurl)";
// define connection and command
using(SqlConnection conn = new SqlConnection(yourConnectionStringHere))
using (SqlCommand cmd = new SqlCommand(insertStmt, conn))
{
// define parameters and set their values
cmd.Parameters.Add("@title", SqlDbType.NVarChar, 100).Value = TextBox1.Text.Trim();
cmd.Parameters.Add("@datee", SqlDbType.DateTime).Value = DateTime.Now;
cmd.Parameters.Add("@post", SqlDbType.NVarChar, 100).Value = TextBox2.Text.Trim();
cmd.Parameters.Add("@cat", SqlDbType.NVarChar, 100).Value = DropDownList1.SelectedItem.Text.Trim();
cmd.Parameters.Add("@imageurl", SqlDbType.NVarChar, 250).Value = path;
// open connection, execute query, close connection
conn.Open();
int rowsInserted = cmd.ExecuteNonQuery();
conn.Close();
}
提示:使用参数化查询。@Janesabouchleich可以显示相关问题:查看以下帖子。它有你的答案。[如何在sql数据库中插入阿拉伯字符?][1][1]:@manolisxoundasis谢谢你解决了这个问题