我正在使用 sql server 用于数据库和 Visual Studio 用于在表中插入数据,但我希望在输入数据库之前将输入的条目更改为大写。使用哪种语法。告诉我我可以在这个声明中做出哪些改变:
SqlCommand cmd = new SqlCommand("insert into student values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", con);
我正在使用 sql server 用于数据库和 Visual Studio 用于在表中插入数据,但我希望在输入数据库之前将输入的条目更改为大写。使用哪种语法。告诉我我可以在这个声明中做出哪些改变:
SqlCommand cmd = new SqlCommand("insert into student values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", con);
Google for SQL Injection,并将其更改为参数化查询
TextBox.Text.ToUpper 方法之一:
SqlParameter parameter = new SqlParameter("@Param1", TextBox1.Text.ToUpper()
INSERT INTO ... VALUES(@Param1, @Param2,...)
或使用 SQL UPPER 函数(SQL Server) - 它在其他一些数据库中是 UCASE:
INSERT INTO ... VALUES( UPPER(@Param1), UPPER(@Param2),...)
如果您关心国际化,请注意ToUpper()
没有参数将使用当前文化 ( CultureInfo.CurrentCulture
) 来决定如何转换为大写。SQL Server 的 UPPER 函数将取决于数据库排序规则,因此可能会给出不同的结果。谷歌搜索“Turkish I problem”以了解这可能导致的问题类型。
SqlCommand cmd = new SqlCommand(
"insert into student
values('" + TextBox1.Text.ToUpper() + "','"
+ TextBox2.Text.ToUpper() + "','"
+ TextBox3.Text.ToUpper() + "')", con);
使用String.ToUpper();
这样的东西
SqlCommand cmd = new SqlCommand(
"insert into student values('" +
TextBox1.Text.ToUpper() + "','" +
TextBox2.Text.ToUpper() + "','" +
TextBox3.Text.ToUpper() + "')",
con);
这是c#
SqlCommand cmd = new SqlCommand("insert into student values('" + TextBox1.Text.ToUpper() + "','" + TextBox2.Text.ToUpper() + "','" + TextBox3.Text.ToUpper() + "')", con);
cmd.ExecuteNonQuery();
检查 sql 注入,并使用 SqlParameters。