一,连接数据库():
  1,定义连接字符串:

   SQL2005:
   string  connString =" Data Source=. ; Initial Catalog=数据库名;User ID = 用户名; Pwd=密码"(如果密码为空,则Pwd省略)
   string  connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|数据库名.mdf;Integrated Security=True;User Instance=True";   "//使用这条语句,可以免除手动附加数据库操作,项目自动附加数据库

   SQL2000:
   
string connString="Data Source=localhost;Initial Catalog=数据库名;User ID=sa;Password=密码"

    注:在SQL2000中,Data Source可以用 Server 代替,Initial Catalog 可以用 Database 代替。
    “localhost”和“.”表示本地连接,如果是远程连接,可以用远程主机名或IP来表示
        
 自动附加数据库VS2005以上版本可以使用,VS2003没有使用过,不知是否可用!

   2,创建Connection 对象:
   SqlConnection con= new SqlConnection(connString);
   或
   (
    SqlConnection connection= new SqlConnection();
    connection.ConnectionString=connString;
   )
  3,打开(关闭)数据库:
   connection.Open();
   connection.Close();
  
 二,查询与修改数据:Command 对象
  Command对象三个方法:
  执行数据修改方法:
   ExecuteNonQuery();
  执行数据查询方法:
   ExecuteReader();返回DataReader对象
   ExecuteScalar();返回单个值 eg:Count(*)
  
   示例代码:
   1,数据只读方式
   (返回单个值)
   String QuerySql  = "select Count(*) from table";
   Command command = new Command(QuerySql,connection);
   int result = command.ExecutScalar();
   (返回DataReader对象)
   String QuerySql  = "select * from table";
   Command command = new Command(QuerySql,connection);
   DataReader dr = command.ExecutReader();
   ##注意:一定要关闭DataReader对象:dr.Close()##
   
   2,数据修改方式
   示例代码:
   String QuerySql  = "delete form table where name='udbyvgu'";
   Command command = new Command(QuerySql,connection);
   int result = command.ExecutNonQuery();
  
  三,(一)使用DataSet(数据集,可以进行离线操作)
   
     1、创建DataSet对象
     DataSet 数据集对象 = new DataSet("数据集的名称字符串");
     DataSet 数据集对象 = new DataSet();
     (如果没有写 数据集的名称字符串,则默认为 NewDataSet )
     
     2、创建DataAdapter(适配器)对象
     SqlDataAdapter 适配器对象 = new SqlDataAdapter(sql语句,数据库连接)
     
     3、SqlDataAdapter对象.Fill(数据集对象,"数据表名称字符串")
     (Fill()方法接收 一个数据表名称字符串参数,如果数据集中没有这个数据表,则会创建一个数据表,如果数据集中有这个数据表,则会把查出的数据添加到数据表中)
     
     示例代码:
     string sql = "select * from table";
     string  connString =" Data Source=. ; Initial Catalog=table;User ID =sa; Pwd=sa"
     DataSet dataSet = new DataSet(); //初始化DataSet
     SqlDataAdapter dataAdapter = new SqlDataAdapter(sql,new SqlConnection(connString)) //创建SqlDataAdapter对象
     dataAdapter.Fill(dataSet,"NewTable");//填充数据集
     //打印数据集中的NewTable表
     foreach(DataRow row in dataSet.Tables[0].Rows<或dataSet.Table["NewTable"]>){
      Console.WriteLine("{0}\t{1}\t{2}",row["name"],row["age"],row["sex"]);
     }
     
    (二)保存修改后的数据集中的数据
     1、使用SqlCommandBuilder 对象(构造SQL命令 )
     SqlCommandBuilder builder = new SqlCommandBuilder(已创建的适配器对象);
     2、调用DataAdapter对象的Update()方法
     dataAdapter.Update(数据集对象,"数据表名称字符串")
     
     示例代码:
     SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
     dataAdapter.Update(dataSet,"NewTable");
     ##如果要将数据集显示到窗体上,可以使用DataGridView控件##
     DataGridView对象.DataSource = dataSet.Table["NewTable"];