一,连接数据库():
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="Da
注:在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"];
浙公网安备 33010602011771号