首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 新手求SqlDataAdapter的手动设置Command问题,InsertCommand,UpdateCommand还有DeleteCommand
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 11:26:43 楼主
    最令小弟郁闷的是公司给我们的aspx里没有任何关于UpdateCommand设定的相关字段,这块东西的教程资料本来就少.公司上级把一个空壳子一堆控件的页面丢给我们做,数据库表也是事先做好的,不允许我们半点更改,苦啊.

    网上看了许多教程,看下来模棱两可,至今不知道如何在代码里设置UPDATECOMMAND、INSERTCOMMAND、DELETECOMMAND
    求SqlDataAdapter的手动设置Command的VB.NET代码,谢谢!!

    等待各位朋友们的帮助,十分感谢!!
    150  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 11:33:431楼 得分:0
    VB.NET code
    Public Function CreateCustomerAdapter( _ ByVal connection As SqlConnection) As SqlDataAdapter Dim adapter As SqlDataAdapter = New SqlDataAdapter() ' Create the SelectCommand. Dim command As SqlCommand = New SqlCommand( _ "SELECT * FROM Customers " & _ "WHERE Country = @Country AND City = @City", connection) ' Add the parameters for the SelectCommand. command.Parameters.Add("@Country", SqlDbType.NVarChar, 15) command.Parameters.Add("@City", SqlDbType.NVarChar, 15) adapter.SelectCommand = command ' Create the InsertCommand. command = New SqlCommand( _ "INSERT INTO Customers (CustomerID, CompanyName) " & _ "VALUES (@CustomerID, @CompanyName)", connection) ' Add the parameters for the InsertCommand. command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID") command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName") adapter.InsertCommand = command ' Create the UpdateCommand. command = New SqlCommand( _ "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " & _ "WHERE CustomerID = @oldCustomerID", connection) ' Add the parameters for the UpdateCommand. command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID") command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName") Dim parameter As SqlParameter = command.Parameters.Add( _ "@oldCustomerID", SqlDbType.NChar, 5, "CustomerID") parameter.SourceVersion = DataRowVersion.Original adapter.UpdateCommand = command ' Create the DeleteCommand. command = New SqlCommand( _ "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection) ' Add the parameters for the DeleteCommand. command.Parameters.Add( _ "@CustomerID", SqlDbType.NChar, 5, "CustomerID") parameter.SourceVersion = DataRowVersion.Original adapter.DeleteCommand = command Return adapter End Function



    try it!!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 14:03:272楼 得分:0
    SqlDataAdapter对象的SelectCommand,InsertCommand,UpdateCommand还有DeleteCommand 返回的就是一个SqlCommand
    对象,就当SqlCommand用就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • only_endure
    • 等级:
    发表于:2008-05-09 14:05:433楼 得分:0
    ado.net
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 14:48:134楼 得分:0
    友情帮顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 16:42:295楼 得分:0
    引用 1 楼 zsj830120 的回复:
    VB.NET code
    Public Function CreateCustomerAdapter( _
      ByVal connection As SqlConnection) As SqlDataAdapter

        Dim adapter As SqlDataAdapter = New SqlDataAdapter()

        ' Create the SelectCommand.
        Dim command As SqlCommand = New SqlCommand( _
            "SELECT * FROM Customers " & _
            "WHERE Country = @Country AND City = @City", connection)

        ' Add the parameters for the …

    这样就可以,你分别定义用来更新及插入的command,然后付给adapter就行了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 22:10:126楼 得分:0
    C#中就用2楼说的方法

    SqlCommand scom=new SqlCommand();
    scom.CommandType=CommandType.Text;
    scom.CommandText="insert into table values('value')";
    SqlDataAdapter sda=new SqlDataAdapter();
    sda.InsertCommand=socm;

    这样就行了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 22:45:027楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-09 23:00:458楼 得分:0
    引用 1 楼 zsj830120 的回复:
    VB.NET code
    Public Function CreateCustomerAdapter( _
      ByVal connection As SqlConnection) As SqlDataAdapter

        Dim adapter As SqlDataAdapter = New SqlDataAdapter()

        ' Create the SelectCommand.
        Dim command As SqlCommand = New SqlCommand( _
            "SELECT * FROM Customers " & _
            "WHERE Country = @Country AND City = @City", connection)

        ' Add the parameters for the …


    这些属性其实就是相应的SQL语句。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 14:12:429楼 得分:0
    非常感谢各位朋友帮助我!!
    也许是小弟的水平比较菜吧,试了2个通宵还是调试无果,郁闷无比哪
    那个添加参数(' Add the parameters)部分小弟还是不明白,系统总是报错,说是参数错误,编译器显示一条蓝线.

    例如以下的代码片段,有下划线的蓝字即为系统中报错下划蓝线的部分.
      ' Create the InsertCommand.
        Dim Command As New SqlCommand(strSqlInsert, connection)

      ' Add the parameters for the InsertCommand.
      Command.Parameters.Add("shangdian", SqlDbType.VarChar(6), null, "Tenpo_Code")


    请教各位朋友这句代码里参数错在哪里了?谢谢!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 14:32:3410楼 得分:0
    加分求教各位朋友们帮我解决这个在代码里设置UPDATECOMMAND、INSERTCOMMAND、DELETECOMMAND的问题!! 
    求SqlDataAdapter的手动设置Command的VB.NET代码,谢谢!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    发表于:2008-05-12 14:34:3411楼 得分:0
    改为:Command.Parameters.Add("shangdian", SqlDbType.VarChar,6, "Tenpo_Code")
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 14:47:3912楼 得分:0
    Command.Parameters.Add("UpdateDate", SqlDbType.DateTime, null, "UpdateDate")
    不知道这句对吗,谢谢:)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 14:59:0313楼 得分:0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 15:14:3414楼 得分:0
    一定要用什么:InsertCommand,UpdateCommand还有DeleteCommand 
    这一堆吗?

    直接用Sql语句更新,比如:
    VB.NET code
    Public Function CreateCustomerAdapter( _ ByVal connection As SqlConnection) As SqlDataAdapter Dim adapter As SqlDataAdapter = New SqlDataAdapter() ' Create the SelectCommand. Dim command As SqlCommand = New SqlCommand( _ "Update Customers set City = '" & city & "'" & _ "WHERE Country = '" & country & "'", connection) command.ExecuteNonQuery() .........
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 15:33:1815楼 得分:0
    VB.NET code
    Public Function CreateSqlDataAdapter(ByVal connection As SqlConnection) As SqlDataAdapter Dim adapter As SqlDataAdapter = New SqlDataAdapter adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey ' Create the commands. adapter.SelectCommand = New SqlCommand( _ "SELECT CustomerID, CompanyName FROM CUSTOMERS", connection) adapter.InsertCommand = New SqlCommand( _ "INSERT INTO Customers (CustomerID, CompanyName) " & _ "VALUES (@CustomerID, @CompanyName)", connection) adapter.UpdateCommand = New SqlCommand( _ "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " & _ "WHERE CustomerID = @oldCustomerID", connection) adapter.DeleteCommand = New SqlCommand( _ "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection) ' Create the parameters. adapter.InsertCommand.Parameters.Add("@CustomerID", _ SqlDbType.Char, 5, "CustomerID") adapter.InsertCommand.Parameters.Add("@CompanyName", _ SqlDbType.VarChar, 40, "CompanyName") adapter.UpdateCommand.Parameters.Add("@CustomerID", _ SqlDbType.Char, 5, "CustomerID") adapter.UpdateCommand.Parameters.Add("@CompanyName", _ SqlDbType.VarChar, 40, "CompanyName") adapter.UpdateCommand.Parameters.Add("@oldCustomerID", _ SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original adapter.DeleteCommand.Parameters.Add("@CustomerID", _ SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original Return adapter End Function
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 15:58:0116楼 得分:0
    引用 1 楼 zsj830120 的回复:
    VB.NET code
    Public Function CreateCustomerAdapter( _
      ByVal connection As SqlConnection) As SqlDataAdapter

        Dim adapter As SqlDataAdapter = New SqlDataAdapter()

        ' Create the SelectCommand.
        Dim command As SqlCommand = New SqlCommand( _
            "SELECT * FROM Customers " & _
            "WHERE Country = @Country AND City = @City", connection)

        ' Add the parameters for the …


    把分给1楼吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 16:34:2917楼 得分:0
    1楼没错啊.
     友情UP~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-12 17:39:1918楼 得分:0
    引用 6 楼 HIEUniverse 的回复:
    C#中就用2楼说的方法

    SqlCommand scom=new SqlCommand();
    scom.CommandType=CommandType.Text;
    scom.CommandText="insert into table values('value')";
    SqlDataAdapter sda=new SqlDataAdapter();
    sda.InsertCommand=socm;

    这样就行了!

    简单明了,其它的类似
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • only_endure
    • 等级:
    发表于:2008-05-12 17:45:3019楼 得分:0
    注意参数的接口问题.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Sandy945
    • 等级:
    发表于:2008-05-13 16:04:2620楼 得分:0
    引用 9 楼 woaiwangying 的回复:
    非常感谢各位朋友帮助我!!
    也许是小弟的水平比较菜吧,试了2个通宵还是调试无果,郁闷无比哪
    那个添加参数(' Add the parameters)部分小弟还是不明白,系统总是报错,说是参数错误,编译器显示一条蓝线.

    例如以下的代码片段,有下划线的蓝字即为系统中报错下划蓝线的部分.
      ' Create the InsertCommand.
        Dim Command As New SqlCommand(strSqlInsert, connection)

      ' Add the parameters for the In…


    其实你仔细看下1楼从MSDN 上粘贴下来的代码 就知道了

    参数名前都有@的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Sandy945
    • 等级:
    发表于:2008-05-13 16:05:3621楼 得分:0
    Command.Parameters.Add("@shangdian",
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-13 16:50:0922楼 得分:0
    引用 1 楼 zsj830120 的回复:
    VB.NET code
    Public Function CreateCustomerAdapter( _
      ByVal connection As SqlConnection) As SqlDataAdapter

        Dim adapter As SqlDataAdapter = New SqlDataAdapter()

        ' Create the SelectCommand.
        Dim command As SqlCommand = New SqlCommand( _
            "SELECT * FROM Customers " & _
            "WHERE Country = @Country AND City = @City", connection)

        ' Add the parameters for the …
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 13:31:2823楼 得分:0
    小弟想搞清楚这个带@的参数究竟怎么用,意义是什么,谢谢!!
    单位又不组织培训,负责技术的又保守,根本没有团队可言,
    最近一直通宵,还是做不出,小弟郁闷啊
    请教各位朋友们这个带@的参数的用法,谢谢!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 13:46:5424楼 得分:0
    kankan
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved