我连接了数据库的表,可是在做登陆界面的时候,if的运算通过不了。我想是不因为没有连接mdf的原因还是其他的原因。

解决方案 »

  1. sqlconnection连接的时候只需要提供数据库名,无需提供数据库文件名,那是sqlserver会管理数据库文件名和数据库名的对应关系,
      

  2.  string connString = "Data Source=.; Initial Catalog=user;uid=sa;pwd=123";
                //新建一个数据库连接对象
                SqlConnection myconn = new SqlConnection(connString);
                //初始化连接对象
                //SqlDataAdapter sqlDAdp = new SqlDataAdapter("select userName from PZ", connString);
                //DataSet sds = new DataSet();
                //sqlDAdp.Fill(ds);
                //conn.Close();
                //label1.Text = ds.Tables[0].Rows[0][0].ToString();//获取查询结果集第一行第一列的值
                myconn.Open();
                string sql = "select * from mima where id= + textBox1.Text.Trim() + and ps = + textBox2.Text.Trim() + ";
                
                SqlDataAdapter da = new SqlDataAdapter(sql, myconn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                DataTable dt = ds.Tables[0];
                if (dt.Rows.Count > 0)
                {
                    MessageBox.Show("登录成功");
                }
                else
                {
                    MessageBox.Show("登录失败");
                    textBox1.Text = string.Empty;
                    textBox2.Text = string.Empty;
                }
            }
      

  3. 额 我用的是SQL2008 试过很多台机子 开在da。fill(ds)那里 说未处理sqlexception
      

  4. SQL语句写的有问题:string sql = "select * from mima where id= '"+ textBox1.Text.Trim() +"' and ps = '"+ textBox2.Text.Trim() +"' ";这样才行,你得加上单引号。
      

  5.  string sql = "select * from mima where id= + textBox1.Text.Trim() + and ps = + textBox2.Text.Trim() + ";
    PS是什么类型的数据
      

  6. sql 语句有问题     string sql = "select * from mima where id= + textBox1.Text.Trim() + and ps = + textBox2.Text.Trim() + ";??
      

  7. sqlconnection连接的时候只需要提供数据库名,无需提供数据库文件名,那是sqlserver会管理数据库文件名和数据库名的对应关系
      

  8. sqlexception异常是什么?那句话抛出的?贴出异常堆栈看看,而且,string sql = "select * from mima where id= '"+ textBox1.Text.Trim() +"' and ps = '"+ textBox2.Text.Trim() +"' ";
    这句话写得太难阅读,最好用参数化的sql语句,string sql = "select * from mima where id= @id and ps = @ps ";然后在Command给 @id 等参数赋值,
    da.SelectCommand.Parameters.Add(...
      

  9. 如果你提供的参数是int类型的就不需要加单引号,否则的话
    你的sql语句应该是
    string sql = "select * from mima where id= '"+ textBox1.Text.Trim() +"' and ps = '"+ textBox2.Text.Trim() +"' ";数据集填充以后,
    直接
    if(ds.tables[0].rows.count>0)
    {
     MessageBox.Show("登录成功");就行,不用转换啊,其实一样吧
    }
      

类似问题 »