在SQL#中将SQL行数据分成多个文本框

时间:2012-06-07 02:01:20

标签: c# sql visual-studio-2010 data-binding delimiter

我正在尝试将SQL行数字加载到多个文本框中。基本上该行包含由“;”分隔的数字。我怎样才能得到它,以便每个数字用“;”分隔时在他们自己的文本框中?

        SqlConnection conn = new SqlConnection("Data Source=LAURA-PC;Initial Catalog=Sudoku;Integrated Security=True");
        conn.Open();

        SqlCommand command = conn.CreateCommand();
        command.CommandText = "Select puzzle from Puzzle";
        command.CommandType = CommandType.Text;

        SqlDataReader reader = command.ExecuteReader();
        if (reader.Read())
        {
            textBox1.Text = reader.GetValue(0).ToString();
            textBox2?
            textbox3?
        }
        conn.Close();

2 个答案:

答案 0 :(得分:1)

假设puzzle列具有以分号分隔的数字:

...
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
    string[] tokens = ((string)reader[0]).Split(';');

    textBox1.Text = tokens[0];
    textBox2.Text = tokens[1];
    // etc...
}
...

答案 1 :(得分:1)

假设您拥有与TextBox相同数量(或更少)的数字,您可以将TextBox放入数组并使用以下代码:

...
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
    string[] tokens = reader.GetString(0).Split(';');
    for(int i = 0; i < tokens.Length; i++)
    {
        textBoxes[i].Text = tokens[i];
    }
}
...