//类设计;
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;namespace helloCsharp
{//定义验证连接数据库来验证用户合法性的类Verify
    class Verify
    {
        private string s_uid;
        private string s_pwd;
        public string uid //uid属性
        {
            get
            { 
                return s_uid; 
            }
            set
            {
                if (s_uid != value)
                    s_uid = value;
            }
        }
        public string pwd//密码属性
        {
            get
            {
                return s_pwd;
            }
            set
            {
                if (s_uid != value)
                    s_pwd = value;
            }
        }        //定义验证方法erify
        public int uidVerify() 
        {
            int i;
            SqlConnection conn = new SqlConnection("server=(local);database=DB_CFGL;User ID=sa;Password=houyichong");
            conn.Open();
            SqlCommand cmd = new SqlCommand("select flag from T_user where uid='"+s_uid+"' and pwd='"+s_pwd+"'",conn );
            SqlDataReader dr = new SqlDataReader();
            dr =cmd.ExecuteReader();
            if (dr.Read())//如果有记录就获取权限;
                   i=(int)dr["flag"];//存在用户,返回该用户记录中flag的值
            else
                i=0; //没有用户返回0
               //释放数据库资源
            //cmd.Dispose();
            dr.Close();
            conn.Close();
            return i;
           
        }            
        }    }//按钮事件调用
        private void btn_login_Click(object sender, EventArgs e)
        {
            Verify m_verify = new Verify();
            m_verify.uid = txt_uid.Text.ToString();
            m_verify.pwd = txt_pwd.Text.ToString();
            int x;
            x = m_verify.uidVerify();//调用对象m_verify的uidVerify();方法                      
            if (x > 0)       //连接失败返回0,成功返回对应的权限值
                MessageBox.Show("ok");
        }//报错代码:从连接数据库部分开始就出错.
/*
SqlConnection conn = new SqlConnection("server=(local);database=DB_CFGL;User ID=sa;Password=houyichong");
            conn.Open();
            SqlCommand cmd = new SqlCommand("select flag from T_user where uid='"+s_uid+"' and pwd='"+s_pwd+"'",conn );
            SqlDataReader dr = new SqlDataReader();
            dr =cmd.ExecuteReader();
            if (dr.Read())//如果有记录就获取权限;
                   i=(int)dr["flag"];//存在用户,返回该用户记录中flag的值
            else
                i=0; //没有用户返回0*/
//报错内容:错误 1 类型“System.Data.SqlClient.SqlDataAdapter”同时存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll”和“c:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.SqlClient.dll”中 D:\C#Practices\helloCsharp\helloCsharp\DB_CFGLDataSet.Designer.cs 564 39 helloCsharp

解决方案 »

  1.   

    这个应该是环境的问题吧,你在引用中看看 System.Data的地址是多少
      

  2.   

    估计是用了SqlDataReader dr 后没的关
      

  3.   

    楼上没看代码
    SqlDataReader dr = new SqlDataReader();
       .
       .
       .
    dr.Close();2 Anders_lt(突破渴望) 
    System.Data地址是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll
    System.Data.SqlClient地址是:C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.SqlClient.dll
      

  4.   

    昨天找了本ebook看了看数据库编程方面的动东西就写一下,结果也出现这样的错误.把工程拿去同事的机器上运行也一样同样的错误.不知道什么原因了,老搞不好
      

  5.   

    两个地址下的dll文件,我各删除后,工程都出错
      

  6.   

    在外面,没有编译器,所以没有办法详细分析,只能说几个这个方面的问题:
    1.数据库正确否?
    2.表名、字段名是否和关键字有冲突,最好要中括号括起来;//嫌疑最大因为用了Password
                                                          //flag等
    3.类库引出对象没有初始化;
      

  7.   

    这个把 引用下面的System.Data.SqlClient删除就行啦