ASP.net 使用OleDb对象方式连接sql server
1.首先要导入oledb.net数据提供程序的命名空间
2.OleDb方式连接sql server 的语法格式为:
OleDbConnection cnn = new OleDbConnection("provider=SQLOLEDB;Data Source=存储要连接数据库的SQL服务器;Initial Catalog=连接的数据库名;Uid=用户名;Pwd=密码");
其中Data Source=存储要连接数据库的SQL服务器
就是SQL server连接是的服务器名称,如下图
所以我这里的
Data Source=DESKTOP-C9D95LA\\SQLEXPRESS;
Initial Catalog=连接的数据库名,就是你需要连接的数据库,我在SQL server里建立的一个数据库mysql ,所以这里
Initial Catalog=mysql;
mysql 里有一张表,表的内容如下,待会要把表里的内容读取出来
下面的Uid=用户名;Pwd=密码
;是在你的SQL server设置了需要用户名和密码登录模式是用的,如果是windows身份验证登录,就把这句话改成
Integrated Security=SSPI;
代码如下
OleDbConnection cnn = new OleDbConnection();
cnn.ConnectionString = "provider=SQLOLEDB;Data Source=DESKTOP-C9D95LA\\SQLEXPRESS;Initial Catalog=mysql;Integrated Security=SSPI";
cnn.Open();
在Data Source=DESKTOP-C9D95LA\\SQLEXPRESS;
里用了两个\在,其中一个是作为转义字符使用
连接建立以后可以输出以下连接状态
Response.Write(cnn.State +"<br>");
输出结果是open,表示已经建立好了
3.接着就是读取数据库里的内容了
首先使用oledbcommand 类建立一个对象,在绑定oledbconnection 对象
OleDbCommand cmd = new OleDbCommand("select sname from student", cnn);
第一个参数是要执行的SQL 语句,第二个就是之前建立的Oledbconnection对象
下面就要去读表里的东西
4.使用 OleDbDataReader 类
OleDbDataReader datar= cmd.ExecuteReader();
ExecuteReader()是oledbcommand 类里的一个方法,执行返回数据集的select语句
这个时候 datar指向了一张表,但是表里也可能是空的
datar.read() 返回值是一个布尔型
执行一次操作,指针向下移动一次,指向下一条记录
while (datar.Read())
{
Response.Write(datar ["sname"].ToString ());
}
cnn.Close();
运行结果是;
部分代码:
OleDbConnection cnn = new OleDbConnection();
cnn.ConnectionString = "provider=SQLOLEDB;Data Source=DESKTOP-C9D95LA\\SQLEXPRESS;Initial Catalog=mysql;Integrated Security=SSPI";
cnn.Open();
Response.Write(cnn.State +"<br>");
OleDbCommand cmd = new OleDbCommand("select sname from student", cnn);
OleDbDataReader datar;
datar = cmd.ExecuteReader();
while (datar.Read())
{
Response.Write(datar ["sname"].ToString ());
}
cnn.Close();
我自己也是初学者,懂得也不多,写下来一是怕自己之后忘了,二是可能有人有需要的,毕竟我自己也找了好久,完全不知道参数该写什么,而且还是第一次写这个,写的不好请见谅。