1. Command对象的作用?
用于对数据库发出SQL命令,从而执行增删改查(CURD)等操作。
2. Command对象两个主要方法
ExecuteNonQuery方法:执行命令并返回受影响的行数
ExecuteReader方法:执行命令并返回生成的DataReader
3. DataReader对象的作用?
返回一个来自数据命令的只读、只进的数据流。
语法:
SQLCommand对象名 = new SQLCommand("SQL语句",Connection实例化对象);
实例:
使用VS2010编写数据库增删改查(CURD)操作
======================================================
第一步:
1.用SQL Server创建数据库(如果没有):test
2.再创建表(如果没有):info(id,name,sex),其中id为自增字段,主键
第二步:
1.用VS2010创建 ASP.Net空Web应用程序 项目:WebApplication1
2.再在项目WebApplication1中添加新建项 Web窗体:Default.aspx:
3.Page_Load方法中添加如下代码:(记得添加需要的引用,如:using System.Data.SqlClient;等等)
//取得数据库连接对象myconn
//string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString;
string connStr = ConfigurationManager.ConnectionStrings["SqlConnStr"].ToString();
//string connStr = ConfigurationSettings.AppSettings["connstring"]; //using System.Configuration;
SqlConnection myconn = new SqlConnection(connStr);
myconn.Open();
//添加数据
SqlCommand cmdInsert = new SqlCommand("insert into info(name,sex) values('张三','男')", myconn);
int n = cmdInsert.ExecuteNonQuery();//执行命令并返回受影响的行数
Response.Write("添加记录成功!共影响行数为:" + n);
Response.Write("<br>");
//查询数据
SqlCommand cmdSelect = new SqlCommand("select * from info", myconn);
SqlDataReader dr1 = cmdSelect.ExecuteReader();//执行命令并返回生成的DataReader
while (dr1.Read())
{
Response.Write(dr1["name"]);
Response.Write(dr1["sex"]);
Response.Write("<br>");
}
dr1.Close();
//修改数据
SqlCommand cmdUpdate = new SqlCommand("update info set name='王五',sex='女' where name='张三'", myconn);
int m = cmdUpdate.ExecuteNonQuery();//执行命令并返回受影响的行数
Response.Write("更新记录成功!共影响行数为:" + m);
Response.Write("<br>");
//查询数据
cmdSelect = new SqlCommand("select * from info", myconn);
dr1 = cmdSelect.ExecuteReader();//执行命令并返回生成的DataReader
while (dr1.Read())
{
Response.Write(dr1["name"]);
Response.Write(dr1["sex"]);
Response.Write("<br>");
}
dr1.Close();
//删除数据
SqlCommand cmdDelete = new SqlCommand("delete info where name='王五'", myconn);
int t = cmdDelete.ExecuteNonQuery();//执行命令并返回受影响的行数
Response.Write("删除记录成功!共影响行数为:" + t);
Response.Write("<br>");
myconn.Close();
4.向配置文件 Web.config 中添加如下代码:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="SqlConnStr" connectionString="uid=sa;pwd=asdf;initial catalog=test;server=." />
</connectionStrings>
<appSettings>
<add key="connstring" value="uid=sa;pwd=asdf;database=test;server=(local)" />
</appSettings>
=============================================
下面是对配置文件中连接串的解释:
"user id=sa":
连接数据库的验证用户名为sa。他还有一个别名"uid",所以这句我们还可以写成"uid=sa"。
"password=":
连接数据库的验证密码为空。他的别名为"pwd",所以我们可以写为"pwd="。
这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录。
如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"user id"和"password"这样的方式来登录,
而需要使用"Trusted_Connection=SSPI"来进行登录。
"initial catalog=Northwind":
使用的数据源为"Northwind"这个数据库。他的别名为"Database",本句可以写成"Database=Northwind"。
"Server=YourSQLServer":
使用名为"YourSQLServer"的服务器。他的别名为"Data Source","Address","Addr"。
如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址。
"Connect Timeout=30":
连接超时时间为30秒。