c#中SQL数据库一些简单操作
时间:2011-03-23 来源:dx0603go
一、可以将所有数据库相关的操作方法都写到同一个类DatabaseHelper中,
实例化该类对象后,直接调用相关方法即可。
二.DatabaseHelper类中的数据库连接字符串,有应用程序配置文件App.config提供,
程序打包后,直接在App.config中修改数据库服务器,数据库名,用户及密码。
对数据库的操作,大致可分为两类:第一,数据库保持连接情况下;第二,数据库
断开连接情况下。
数据库保持连接步骤:1,实例化SqlConnection对象conn,打开连接;
2.在根据SQL语句和conn对象实例化SqlCommand对象cmd;3.cmd执行命令(根据执行
SQL语句是否有返回值,定义返回数据接收容器,例如SqlDataReader);4.断开所有
连接
断开数据库连接步骤:
1.实例化SqlConnection对象conn,不需要打开连接;
2.在根据SQL语句和conn对象实例化SqlDataAdapter对象adapter;3.创建DataSet对象,作为
ds接收执行SQL语句后返回结果的容器;
4.使用adapter的Fill方法填充数据集对象ds;
5.可将ds对象中的相关表作为空间的数据源。
当使用断开连接方式时,SQL语句中带有参数如何处理?
将上述步骤2做一些改变即可:
SqlDataAdapter adapter = new SqlDataAdapter();
//带参数的SQL语句
SqlCommand cmd = new SqlCommand(@"select * from database where id = @id", conn);
cmd.Parameters.Add("@id",SqlDbType.int, 4).value = 1993;//为SQL语句添加参数
adapter.SelectCommand = cmd;//添加在Fill方法中使用的SqlCommand,用来从数据库中
//为DataSet中的位置选择记录,如果没有返回记录,则没有
//数据表填充到DataSet对象中。
DataSet ds = new DataSet();
adapter.Fill(ds);
同理,还可以为adapter对象添加带参数的InsertCommand、UpdateCmmand
以及DeleteCommand.(详细见msdn)
三.如何直接在DataGridView表中更改数据库内容
直接给适配器SqlDataAdapter对象添加命令语句
SqlCommandBuilder builder = new SqlCommandBuilder();
Adapter.InsertCommand = builder.GetInsertCommand();
Adapter.UpdateCommand = builder.GetUpdateCommand();
Adapter.DeleteCommand = builder.GerDeleteCommand();
如果要保存更新,直接用adapter对象的Update方法。