VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c# 2015 如何使用数字命令来执行Transact—SQL语句

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  欲使用数据命令将Transact-SQL语句传送至SQL Server来执行,请将Transact-SQL语句赋给SqlCommand对象的CommandText属性,并将SqlCommand对象的CommandType属性设置成CommandType.Text(此为默认值)。

  在此要提醒大家,当您使用CommandType属性为Text的数据命令时,请先小心检查客户端传送出来的信息,然后才能将这些信息传递至您的数据库。恶意用户会尝试发送(插入)修改过或额外的SQL语句,以获取未经授权的访问权,甚至是破坏数据库。在将用户输入传输到数据库前,一定要确认信息是有效的。最好的做法是尽可能使用参数型查询或存储过程。

  程序范例1

  图 6-4所示是CH6_DemoForm003.cs的执行画面。它示范如何使用SqlCommand对象将Transact-SQL语句传送至SQL Server来执行,并藉此取得“飞狐工作室”数据表的员工人数。

Visual C# 2005中如何使用数据命令执行Transact-SQL语句

  图 6-4

  相关程序代码编写于窗体的Load事件处理函数中,列示如下:

private void CH6_DemoForm003_Load(object sender, EventArgs e)
{
...
try
{ 
// 建立连接。
using (SqlConnection con =
new SqlConnection(connectStringBuilder.ConnectionString))
{
// 建立数据命令对象(亦即 SqlCommand 对象)。
SqlCommand foxCMD = new SqlCommand();
// 设置 SqlCommand 对象所要使用的连接。
foxCMD.Connection = con;
// 设置赋给 SqlCommand 对象的是 TransactSQL 语句。
foxCMD.CommandType = CommandType.Text;
// 指派所要执行的 TransactSQL 语句。
foxCMD.CommandText = "SELECT COUNT(*) FROM dbo.飞狐工作室";
// 打开连接。
con.Open();
// 执行数据命令并将所返回的单一值赋给变量 total。
Int32 total = (int)(foxCMD.ExecuteScalar());
lblInfo.Text = "飞狐工作室的员工人数是:" +
total.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "请注意",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

  程序范例2

  图 6-5所示是CH6_DemoForm004.cs的执行画面,它示范如何使用SqlCommand对象将TransactSQL语句传送至SQL Server来执行,并藉此取得“飞狐工作室”数据表的员工平均薪资。

Visual C# 2005中如何使用数据命令执行Transact-SQL语句

  图 6-5

  相关程序代码编写于窗体的Load事件处理函数中,列示如下:

private void CH6_DemoForm004_Load(object sender, EventArgs e)
{
...
try
{
// 建立连接。
using (SqlConnection con =
new SqlConnection(connectStringBuilder.ConnectionString))
{
// 建立数据命令对象(亦即 SqlCommand 对象)。
SqlCommand foxCMD =
new SqlCommand("SELECT AVG(目前薪资) FROM dbo.飞狐工作室");
// 设置 SqlCommand 对象所要使用的连接。
foxCMD.Connection = con;
// 打开连接。
con.Open();
// 执行数据命令并将所返回的单一值赋给变量 mAverage。
double mAverage = Convert.ToDouble(foxCMD.ExecuteScalar());
lblInfo.Text = "飞狐工作室的员工平均薪资是:" +
mAverage.ToString("$ NT # #,# #0.0000");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "请注意",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}



相关教程