第一种借助OleDbConnection类实现连接(个人感觉不如第二种好)
详细代码如下:
//连接到数据库
OleDbConnection sconn = new OleDbConnection("Provider=SQLOLEDB;Data Source=win2008r2;Initial Catalog=goods;User ID=sa;Password=*****");
//sconn.ConnectionString = "Provider=SQLOLEDB;Data Source=win2008r2;Initial Catalog=goods;User ID=sa;Password=*****";
//与acess相连时,字段包括Provider,User ID,Data Source
sconn.Open();
//使用DataAdapter连接数据源
OleDbDataAdapter adaper1 = new OleDbDataAdapter();
string sql = "Select * from Test";
adaper1.SelectCommand = new OleDbCommand(sql, sconn);
DataSet dset = new DataSet();
adaper1.Fill(dset, "TestChange");
//释放内存空间
dset.Dispose();
sconn.Dispose();
//从数据源读取数据
for (int i = 0; i < dset.Tables["TestChange"].Rows.Count; i++)
{
Console.WriteLine(dset.Tables["TestChange"].Rows[i][0].ToString();
}
Console.Read();
sconn.Close();//关闭连接
第二种方法是使用SqlConnection进行连接:
详细代码如下:
//连接到数据库
string s = "Data Source=win2008r2;Initial Catalog=goods;Integrated Security=True";//采用Windows验证模式登陆
SqlConnection conn = new SqlConnection(s);
conn.Open();
//创建连接
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from Test";
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet dt = new DataSet();
adapter.Fill(dt,"TestNew");
/*
* 如果使用DataTable用来接收数据的话,Fill方法体中只能传入一个参数
* DataTable dtable=new DataTable();
* adapter.Fill(dtable);
* 读取数据时直接dt.Rows[].Count即可
*这个感兴趣的可以自己试试
* */
for (int i = 0;i < dt.Tables["TestNew"].Rows.Count; i++)
{
Console.WriteLine(dt.Tables["TestNew"].Rows[i][1].ToString());
}
Console.ReadLine();
//释放内存,并且关掉连接
conn.Dispose();
cmd.Dispose();
conn.Close();
写之前记得将需要引入的类库引入,不然有的方法提示不出来
运行后会出来控制台窗体输出打印的内容