string必须是一个字符长的问题

时间:2017-03-28 10:36:08

标签: sql sql-server string visual-studio

string SqlSelectQuery = " Select * From KTS Where STAFFNAME =" + Convert.ToChar(textBox1.Text);
        SqlCommand cmd = new SqlCommand(SqlSelectQuery, CON);
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read())

            textBox2.Text = (dr["JOB TITLE"].ToString());
            textBox3.Text = (dr["EXTN"].ToString());
            textBox4.Text = (dr["Direct No."].ToString());
            textBox5.Text = (dr["MOBILE (OFFICE)"].ToString());
            textBox6.Text = (dr["SNO"].ToString());

我想通过输入员工名字的名称将数据从sql server加载到visual studio,他的职位名称为mobile bl .... blla blla blla出现在文本框中,我的错误是字符串必须正好一个字符

2 个答案:

答案 0 :(得分:1)

Convert.ToChar(textBox1.Text)需要单个字符串,否则会抛出FormatException。

您的查询应该是

string SqlSelectQuery = " Select * From KTS Where STAFFNAME ='" + Convert.ToString(textBox1.Text)+"'";

答案 1 :(得分:0)

您可能应该使用

Convert.ToString(textBox1.Text);

而不是

Convert.ToChar(textBox1.Text);

因为您无法将字符串放入Char中,并且文本框内容很可能长于一个字符

根据@RupeshPandey的回答,您还缺少用于分隔查询中字符串的引号。你的指示应该是

string SqlSelectQuery = "Select * From KTS Where STAFFNAME = '" +
                        Convert.ToString(textBox1.Text) +
                        "'";