1

我正在使用 sql server 用于数据库和 Visual Studio 用于在表中插入数据,但我希望在输入数据库之前将输入的条目更改为大写。使用哪种语法。告诉我我可以在这个声明中做出哪些改变:

SqlCommand cmd = new SqlCommand("insert into student values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", con);
4

4 回答 4

2
  1. Google for SQL Injection,并将其更改为参数化查询

  2. 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”以了解这可能导致的问题类型。

于 2012-07-06T07:22:43.283 回答
1
SqlCommand cmd = new SqlCommand(
"insert into student 
values('" + TextBox1.Text.ToUpper() + "','" 
          + TextBox2.Text.ToUpper() + "','" 
          + TextBox3.Text.ToUpper() + "')", con);
于 2012-07-06T07:22:58.783 回答
0

使用String.ToUpper(); 这样的东西

    SqlCommand cmd = new SqlCommand(
"insert into student values('" + 
 TextBox1.Text.ToUpper() + "','" + 
 TextBox2.Text.ToUpper() + "','" + 
 TextBox3.Text.ToUpper() + "')",
 con);
于 2012-07-06T07:22:16.740 回答
0

这是c#

SqlCommand cmd = new SqlCommand("insert into student values('" + TextBox1.Text.ToUpper() + "','" + TextBox2.Text.ToUpper() + "','" + TextBox3.Text.ToUpper() + "')", con); 
cmd.ExecuteNonQuery();

检查 sql 注入,并使用 SqlParameters。

于 2012-07-06T07:22:49.627 回答