1

データベースにSQLServerを使用し、テーブルにデータを挿入するためにVisual Studioを使用していますが、データベースに入力する前に、入力したエントリを大文字に変更したいと思います。そのために使用する構文。このステートメントでどのような変更を加えることができるか教えてください。

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

4 に答える 4

2
  1. Google で SQL インジェクションを検索し、これをパラメーター化されたクエリに変更します

  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」を Google で検索してください。

于 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 に答える