首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

高手帮看下这段代码哪里有错?该如何处理

2012-03-08 
高手帮看下这段代码哪里有错?DimmyscAsSqlClient.SqlCommandNewSqlClient.SqlCommand( ,myconn)myconn

高手帮看下这段代码哪里有错?
Dim   mysc   As   SqlClient.SqlCommand   =   New   SqlClient.SqlCommand( " ",   myconn)
                myconn.Open()
                mysc.CommandText   =   "delete   from   xiangmu   where   id= "   &   Me.TextBox4.Text
                mysc.ExecuteNonQuery()

               
myad   =   New   SqlClient.SqlDataAdapter( "select   *   from   xiangmu   where   1=2 ",   myconn)
                myad.Fill(myset,   "xiangmu1 ")
                myset.Tables( "xiangmu1 ").Rows.Clear()
                myset.Tables( "xiangmu1 ").Columns.Clear()
                Dim   mycol   As   New   DataColumn
                Dim   myint   As   Int16
                mycol.DataType   =   myint.GetType
                mycol.ColumnName   =   "序号 "
                myset.Tables( "xiangmu1 ").Columns.Add(mycol)
                myad.SelectCommand.CommandText   =   "SELECT   *   FROM   xiangmu   "
                Try
                        myset.Tables( "xiangmu1 ").Clear()
                Catch   ex   As   Exception
                End   Try
                myad.Fill(myset,   "xiangmu1 ")
                Me.DataGrid1.DataSource   =   myset.Tables( "xiangmu1 ")
                Dim   myrow   As   DataRow
                myint   =   0
                For   Each   myrow   In   myset.Tables( "xiangmu1 ").Rows
                        myrow.BeginEdit()
                        myint   +=   1
                        myrow.Item( "序号 ")   =   myint
                        myrow.EndEdit()
                Next
                Dim   myts   As   New   DataGridTableStyle
                myts.MappingName   =   "xiangmu1 "
                Me.DataGrid1.TableStyles.Add(myts)
                myts.GridColumnStyles.Item( "序号 ").Width   =   40
                myts.GridColumnStyles.Item( "id ").Width   =   0


                MsgBox( "删除成功! ")


    提示myset.Tables( "xiangmu1 ").Columns.Clear()此列是主键的一部分,因此不能移除。

[解决办法]
使用Access库调试未见错误~~~~~SQL Server没法做
[解决办法]
错误信息不是告诉你了迈?

因为,你调用 myad.Fill(myset, "xiangmu1 ") 的时候,自动加载数据库的模式到 Datatable 中,此时 Datatable 某个 Column 已经成为主键列了, 你不能移除 主键列!!!

要移除,先设置 MyDataTable.PrimaryKey = null;
[解决办法]
看不懂你这段代码,逻辑上有什么功能, 加载了表模式信息,然后又删除了所有的列,那又什么意义?

喜欢做无用功?
[解决办法]
没看代码,看报错似乎是你试图改变联合主键中的一个字段。
[解决办法]
你试图改变联合主键中的一个字段。

[解决办法]
Jinglecat(晓风残月 > > 问题需简洁,错误要详细)
--------------------------------------------
正解
[解决办法]
myset.Tables( "xiangmu1 ").Columns.Clear()???
问题行?

热点排行