C# 2005 数据库访问(六)

        从这篇开始接下来的两篇将介绍ADO.NET中的SQL支持。在这里我们就不再具体介绍SQL命令,这个大家可以去查相关的资料。SQL使用4种命令查询、更新、添加、删除。我们可以用命令构建器生成SQL命令,用于以SELECT命令为基础修改数据(UPDATE、INSERT、DELETE)。

       在下面创建的程序中,我们可以查看到CommandBuilder生成的SQL命令:

using System;
using System.Data;
using System.Data.OleDb;

class ShowSQLExample
{
    public static void Main()
    {
        OleDbConnection thisConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB4.0;Data Source=NWIND.MDB");
       
        thisConnection.Open();
       
        OleDbDataAdapter thisAdapter = new OleDbDataAdapter("SELECT CustomerID FROM Customers",thisConnection);
       
        OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);

        Console.WriteLine("SQL SELECT Command is:/n{0}/n",thisAdapter.SelectCommand.CommandText);

        OleDbCommand updateCommand = thisBuilder.GetUpdateCommand();
        Console.WriteLine("SQL UPDATE Command is:/n{0}/n",thisAdapter.updateCommand.CommandText);

        OleDbCommand insertCommand = thisBuilder.GetInsertCommand();
        Console.WriteLine("SQL INSERT Command is:/n{0}/n",thisAdapter.insertCommand.CommandText);

        OleDbCommand deleteCommand = thisBuilder.GetDeleteCommand();
        Console.WriteLine("SQL DELETE Command is:/n{0}/n",thisAdapter.deleteCommand.CommandText);

        thisConnection.Close();
    }
}

        上面的代码会生成4条语句,在UPDATE和DELETE命令中CommandBuilder对象生成的Where子句。其中包含(?)的问好是参数的标记,当ADO.NET运行时代替实际的值进入命令中。

       为了输出SELECT命令,我们可以使用SelectCommand属性直接从DataAdapter中获取命令。DataAdapter还具有UpdateCommand、InsertCommand和DeleteCommand属性,可以在更新时直接获取或设置SQL命令。这样开发人员可以优化这些命令,这些命令要比由CommandBuilder自动生成的命令更易于执行,尤其是当将所有的命令包含在SQL SELECT语句中时更是如此。

<注:>本文参考文献

《C#入门经典》清华大学出版社

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值