摘自《C#网络应用开发例学与实践》
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Threading;
namespace GetStudent
{
class Program
{
static void Main(string[] args)
{
string connStr = "Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=student;server=(local)";
//书上原为 "server=(local);Initial Catalog=student;user Id=sa;password=1234;" ,由此网址修改,Persist Security Info=False;可舍弃,
//Integrated Security=SSPI表示连接时使用的验证模式是Windows身份验证模式
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select ID,sName from student";
SqlDataReader reader = cmd.ExecuteReader();
//将cmd的执行结果保存在reader中
string output;
while (reader.Read())
{
output=string.Format("学生 {0}\t的学号是 {1}",
reader.GetString(1),reader.GetString(0));
Console.WriteLine(output);
}
Thread.Sleep(5000);
reader.Close();
conn.Close();
}
}
}
通过ADO.NET访问数据库的一般步骤:
1、建立数据库连接对象(Connection对象)
2、打开数据库连接(Connection对象的Open方法)
3、建立数据库命令对象,指定命令对象所使用的连接对象(Command对象)
4、指定命令对象的命令属性(Command 对象的CommandText属性)
5、执行命令(Command对象的方法,例如ExecuteReader方法)
6、操作返回结果(SqlDataReader对象或者其他对象)
7、关闭数据库连接
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
判断数据库与程序的连接是否打开,可调用SqlConnection对象的State对象,如
if(conn.State==ConnectionState.Open)
if(conn.State==ConnectionState.Closed)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Command对象有Connection属性和CommandText属性,有以下几种构造函数
1、
SqlCommand cmd=new SqlCommand();
cmd.Connection=ConnectionObject;
cmd.CommandText=CommandText;
2、
SqlCommand cmd=new SqlCommand(CommandText,ConnectionObject);
另外,Connection对象提供CreateCommand方法,如上例
SqlCommand提供4个执行方法:
1、ExecuteNonQuery:执行不返还结果的命令,通常用于插入、更新或者删除。
2、ExecuteScalar:执行饭后单个值的命令。
3、ExecuteReader:执行命令,并使用结果集填充DataReader对象。
4、ExecuteXmlReader:执行将返回XML字符串的命令。它将返回一个包含所返回的XML的System.Xml.XmlReader对象。