-1

データベース テーブルから列の値を受け取るときに分割関数を適用しています。そして、button_clickイベント中にこのプロセスを進めたいと思います。ただし、 Console.Writelineメソッドで文字列が表示されないという問題があります。ここに私のコードがあります:

protected void Button2_Click(object sender, EventArgs e)
{
    string st = "SELECT F_L FROM split_master where First_name='" +    TextBox1.Text + "' ";
    cmd = new SqlCommand(st, sqlcon);
    cmd.Connection.Open();
    SqlDataReader sqlread = cmd.ExecuteReader();

    while (sqlread.Read())
    {

        string[] word = sqlread["F_L"].ToString().Split();
        for (int count = 0; count < word.Length; count++)
          foreach(string words in word)
           {

            Console.WriteLine(word[count]);
           }
      }
      cmd.Connection.Close();
}

また、文字列をスペースで分割したいと考えています。 助けてください 。

4

1 に答える 1

0

まず、SQL インジェクションを回避するようにしてください。つまり、入力テキストを SQL クエリ パラメータとして直接挿入しないでください。

これを試して :

protected void Button2_Click(object sender, EventArgs e)
{
    string st = "SELECT F_L FROM split_master where First_name=@val ";

    using (sqlcon){
    sqlcon.Open();
    cmd = new SqlCommand(st, sqlcon);
    cmd.Parameters.AddWithValue("@val", TextBox1.Text);
    SqlDataReader sqlread = cmd.ExecuteReader();

    while (sqlread.Read())
    {

        string[] word = sqlread["F_L"].ToString().Split(' ');
           try{
          foreach(string words in word)
           {
           Console.WriteLine(words);
           }
               }
          catch{}

      }
                   }
}
于 2014-08-20T07:58:58.110 に答える