帮忙看看为什么我Fill之后,dataset里没有数据
Dim conSqlStr As String
Dim conSqlShiharaiBatch As SqlClient.SqlConnection
Dim cmdSqlShiharaiBatch As SqlClient.SqlCommand
Dim dsetShiharaiBatch As DataSet
Dim daptShiharaiBatch As SqlClient.SqlDataAdapter
daptShiharaiBatch = New SqlClient.SqlDataAdapter
dsetShiharaiBatch = New DataSet
cmdSqlShiharaiBatch = New SqlCommand(strSelect, conSqlShiharaiBatch)
cmdSqlShiharaiBatch.CommandText = strSelect
cmdSqlShiharaiBatch.Transaction = transShiharaiBatch
daptShiharaiBatch.SelectCommand = cmdSqlShiharaiBatch
daptShiharaiBatch.Fill(dsetShiharaiBatch, "BUY_W_KDT")
strSelect是存SQL语句的字符串,没有问题,可以查出数据;与数据库的连接也没有问题;就是Fill完之后,dsetShiharaiBatch.Tables("BUY_W_KDT").Rows.Count=0??????????
问题点数:20、回复次数:13Top
1 楼herol(江鸟)回复于 2005-08-03 13:38:17 得分 0
不好意思,这句应该没什么用,因为我的函数都在同一个事务里,才在里面加的这句。
cmdSqlShiharaiBatch.Transaction = transShiharaiBatchTop
2 楼xymsgw(想在广阔的草原飙车,痛快)回复于 2005-08-03 13:39:11 得分 2
表还没绑定数据集呀Top
3 楼herol(江鸟)回复于 2005-08-03 13:46:03 得分 0
表还没绑定数据集呀
什么意思呀?需要指定数据源吗?Top
4 楼iceiceberg()回复于 2005-08-03 14:04:29 得分 0
conSqlShiharaiBatch.Open()Top
5 楼herol(江鸟)回复于 2005-08-03 14:14:14 得分 0
连接已经在其他函数里打开了,也察看过,是好用的!Top
6 楼silu_9(思路)回复于 2005-08-03 14:36:13 得分 0
daptShiharaiBatch = New SqlClient.SqlDataAdapter(strSelect, conSqlShiharaiBatch)
dsetShiharaiBatch.clear()
daptShiharaiBatch.Fill(dsetShiharaiBatch, "BUY_W_KDT")
不用command 你试一下
Top
7 楼wada0880(丹丹)回复于 2005-08-07 15:44:24 得分 0
用dsetShiharaiBatch.Tables(0).Rows.Count试试Top
8 楼wwm101(残杀)回复于 2005-08-07 22:42:18 得分 2
晕到啊
才几条语句你就写成这么复杂啊
Dim com As New OleDbCommand(sql.myconn)
Dim dda As New OleDbDataAdapter(com)
Dim ddsa As New DataSet
ddsa.Clear()
dda.Fill(ddsa)
changdu1 = ddsa.Tables(0).Rows.CountTop
9 楼wwm101(残杀)回复于 2005-08-07 22:45:36 得分 0
把那直接改成sql就可以了Top
10 楼malingxian(Mask)回复于 2005-08-08 08:15:34 得分 5
我用下面的语句:
'获取因执行CommandText的SQL语句所发生的结果集
'参 数: CommandText 为执行的SQL语句
'返回值: 如果返回DataTable数据集则表示执行正常,否则返回Nothing为错误信息
'允许重写
Public Function GetDataTable(ByVal CommandText As String) As DataTable
Dim dt As New DataTable("SQL DataTable")
Try
If DBConn.State = ConnectionState.Closed Then Connect()
Dim NewDBAdp As New SqlClient.SqlDataAdapter(CommandText, DBConn)
NewDBAdp.FillSchema(dt, SchemaType.Source) '带有数据的结构信息
NewDBAdp.Fill(dt)
NewDBAdp.Dispose()
DisConnect()
Return dt
Catch ex As Exception
DisConnect()
BackError(DbCmd.CommandText, ex.Message)'写进错误记录
Throw ex
End Try
End FunctionTop
11 楼hl8315(帝国军人)回复于 2005-08-08 11:35:18 得分 1
数据集是从0行算起的,显示记录应该是第一个记录Top
12 楼little_iwf(陀螺)回复于 2005-08-08 14:48:22 得分 10
跟踪你的SqlCommand(可以设置一个断点!),取出他的查询语句,然后拷贝到SqlServer 的查询分析器中,先看看查询的结果是不是空的
其他的我看没有什么问题Top
13 楼herol(江鸟)回复于 2005-08-08 16:12:04 得分 0
太忙了,刚有时间来结帖。我的是事务的问题,在用一个事务里,这SQL之前我还做了更新的操作,不幸的是跟这个查询用的是同一个表,在前面更新的时候已经把表锁死了,还没释放,所以会又问题。非常感谢大家抽出时间来帮忙!Top




