9.3.2 使用SqlCommand 执行SQL语句
string sConnectionString = @"server=(local)\SQLEXPRESS;database=Forum;Trusted_Connection=True";
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand())
{
// 绑定有效的数据库连接
cmd.Connection = conn;
// 定义操作1的SQL语句
cmd.CommandText = "Insert into tbClass (ClassName) values ('网页设计')";
// 完成操作1并输出相应的记录数
Response.Write(string.Format("在tbClass中插入了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作2的SQL语句
cmd.CommandText = "Select ClassID from tbClass where ClassName='网页设计'";
// 完成操作2
string sClassID = cmd.ExecuteScalar().ToString();
// 输出操作2的结果
Response.Write(string.Format("ClassID为{0}<br>", sClassID));
// 定义操作3的SQL语句
cmd.CommandText = string.Format("Insert into tbBoard (BoardName,BoardClassID) values ('PHOTOSHOP','{0}');Insert into tbBoard (BoardName,BoardClassID) values ('FIREWORKS','{0}')", sClassID);
// 完成操作3并输出相应的记录数
Response.Write(string.Format("在tbBoard中插入了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作4的SQL语句
cmd.CommandText = "Update tbBoard set BoardName='PS技术' where BoardName='PHOTOSHOP'";
// 完成操作4并输出相应的记录数
Response.Write(string.Format("在tbBoard中修改了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作5的SQL语句
cmd.CommandText = string.Format("Delete from tbBoard where BoardClassID='{0}'", sClassID);
// 完成操作5并输出相应的记录数
Response.Write(string.Format("在tbBoard中删除了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作6的SQL语句
cmd.CommandText = string.Format("Delete from tbClass where ClassID='{0}'", sClassID);
// 完成操作6并输出相应的记录数
Response.Write(string.Format("在tbClass中删除了{0}条记录<br>", cmd.ExecuteNonQuery()));
}
}
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand())
{
// 绑定有效的数据库连接
cmd.Connection = conn;
// 定义操作1的SQL语句
cmd.CommandText = "Insert into tbClass (ClassName) values ('网页设计')";
// 完成操作1并输出相应的记录数
Response.Write(string.Format("在tbClass中插入了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作2的SQL语句
cmd.CommandText = "Select ClassID from tbClass where ClassName='网页设计'";
// 完成操作2
string sClassID = cmd.ExecuteScalar().ToString();
// 输出操作2的结果
Response.Write(string.Format("ClassID为{0}<br>", sClassID));
// 定义操作3的SQL语句
cmd.CommandText = string.Format("Insert into tbBoard (BoardName,BoardClassID) values ('PHOTOSHOP','{0}');Insert into tbBoard (BoardName,BoardClassID) values ('FIREWORKS','{0}')", sClassID);
// 完成操作3并输出相应的记录数
Response.Write(string.Format("在tbBoard中插入了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作4的SQL语句
cmd.CommandText = "Update tbBoard set BoardName='PS技术' where BoardName='PHOTOSHOP'";
// 完成操作4并输出相应的记录数
Response.Write(string.Format("在tbBoard中修改了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作5的SQL语句
cmd.CommandText = string.Format("Delete from tbBoard where BoardClassID='{0}'", sClassID);
// 完成操作5并输出相应的记录数
Response.Write(string.Format("在tbBoard中删除了{0}条记录<br>", cmd.ExecuteNonQuery()));
// 定义操作6的SQL语句
cmd.CommandText = string.Format("Delete from tbClass where ClassID='{0}'", sClassID);
// 完成操作6并输出相应的记录数
Response.Write(string.Format("在tbClass中删除了{0}条记录<br>", cmd.ExecuteNonQuery()));
}
}
- 添加、删除和修改SQL语句法。
- 延迟指定 Command 对象的 Connection 属性和 CommandText 属性
- 使用 Command 对象的 ExecuteNonQuery() 添加、删除和修改记录并返回影响的记录。
- 使用 Command 对象的 ExecuteScalar() 获取一个值。
- 同时提交多个SQL语句。
- 使用 using{} 来自动释放资源。