这是SQL语句有错,把SQL语句复制出来,粘数据库客户端里执行(SQL SERVER叫查询分析器),看到底怎么了

解决方案 »

  1.   

           private bool IsSameRecord()
            {
                using (SqlConnection con = new SqlConnection(strcon))
                {
                    if (con.State == ConnectionState.Closed)
                    {
                        con.Open();
                    }                string str_condition = "";                string str_cmdtxt = "";                str_condition = this.textBox1.Text.Trim();                str_cmdtxt = "select * from 员工表";                str_cmdtxt += "WHERE 员工编号 = '" + str_condition + "'";                using (SqlCommand cmd = new SqlCommand(str_condition, con))
                    {
                        SqlDataAdapter myda = new SqlDataAdapter();                    myda.SelectCommand = cmd;                    DataSet myds = new DataSet();                    myda.Fill(myds,"info");                    if (myds.Tables["info"].Rows.Count>0)
                        {
                            MessageBox.Show("已存在相同员工信息!");                        return true;
                        }
                        else
                        {
                            return false;
                        }                    con.Close();
                        con.Dispose();
                    }
                }
            }
      

  2.   

    sql语句错误 你断点调试到你的sql语句 放到SQL查询分析器里面 执行肯定也是报错的。
      

  3.   

     str_cmdtxt = "select * from 员工表";
     
                    str_cmdtxt += "WHERE 员工编号 = '" + str_condition + "'";
    SQL语句拼接的有问题,表名和where之间要有空格
      

  4.   

    添加不应该insert吗,你select什么东西
      

  5.   

    str_cmdtxt = "select * from 员工表";
     
                    str_cmdtxt += "WHERE 员工编号 = '" + str_condition + "'";
     
                    using (SqlCommand cmd = new SqlCommand(str_condition, con)) 改为:str_cmdtxt 
                    {
                        SqlDataAdapter myda = new SqlDataAdapter();
     
                        myda.SelectCommand = cmd;
     
                        DataSet myds = new DataSet();
     
      

  6.   


    你应该学会调试,而不是看着源代码发呆。要看的是:看看实际给数据库系统去执行的sql语句。
      

  7.   

    貌似是 Where 前面没空格吧~~~ 这个要调试,把拼接的字符串拉出来    去Sql client 端执行看看!
      

  8.   


    你应该学会调试,而不是看着源代码发呆。要看的是:看看实际给数据库系统去执行的sql语句。
    只是照猫画虎,比对着写的,实际含义还不太明白。只是想先做出来,然后在然就其原理。
    不过还是要谢谢。
      

  9.   

    上面很多都说了,你的where前面没有加空格。
      

  10.   

    跟踪出SQL语句,粘贴到数据库中查询一下,如果没有错误,再继续跟踪程序,找出其他问题。祝你好运!
      

  11.   

    把查询条件当整个SQL语句了,where前加空格,
    str_cmdtxt = "select * from 员工表 WHERE 员工编号='" + str_condition + "'"; 
    SqlCommand cmd = new SqlCommand(str_cmdtxt , con),
      

  12.   

    把sql语句打印出来,拿到查询分析器去执行。