我快被折腾死了,很简单的问题,就是调不通,救命啊!(在线等待)

801122 2003-09-29 03:23:34
Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Private da As SqlDataAdapter
Private ds As New DataSet()
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Private cnn As New SqlConnection()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnn.ConnectionString = "server=rcnufsoft;user id=sa;password=;database=working"
cnn.Open()
da = New SqlDataAdapter("select * from working.dbo.salesman", cnn)
da.Fill(ds, "salesman")
DataGrid1.DataSource = ds.Tables(0)
End Sub

倒数第二行报错:未处理的“System.NullReferenceException”类型的异常出现在 test.exe 中

其他信息:未将对象引用设置到对象的实例

...全文
42 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
NoReady 2003-09-30
  • 打赏
  • 举报
回复
不好意思,还得加另一句: ds.Tables.Add("saleman")

Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Private da As SqlDataAdapter
Private ds As New DataSet()
  '----add this line to your code-----
Dim tlb As New DataTable("saleman")
ds.Tables.Add("saleman")

  '---------------------------------------
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Private cnn As New SqlConnection()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnn.ConnectionString = "server=rcnufsoft;user id=sa;password=;database=working"
cnn.Open()
da = New SqlDataAdapter("select * from working.dbo.salesman", cnn)
da.Fill(ds, "salesman")
DataGrid1.DataSource = ds.Tables(0)
End Sub
zhumb 2003-09-29
  • 打赏
  • 举报
回复
DataGrid1.DataSource = ds.Tables(0).name
geminitse 2003-09-29
  • 打赏
  • 举报
回复
你可以先用一个SELECT 命令加EXECUTEREADER来测试一下是否能正确读出表的内容啊,如果不行的话,就说明你的数据库的确有问题了。
801122 2003-09-29
  • 打赏
  • 举报
回复
肯定有这一张表啊!我换了一张也不行!
eileendl 2003-09-29
  • 打赏
  • 举报
回复
801122 (tony)
你的代码在我这儿一点问题都没有,要不然你检查一下数据库中是否有这个表?
下面是我的测试代码:
cnn.ConnectionString = "我的连接"
cnn.Open()
da = New SqlDataAdapter("select * from salesman", cnn)
da.Fill(ds, "salesman")
DataGrid1.DataSource = ds.Tables(0)
DataGrid1.DataBind()

to NoReady(亦正亦偏):我用ds.fill从来都是这么用的,为什么要定义
Dim tlb As New DataTable("saleman") ??
xixigongzhu 2003-09-29
  • 打赏
  • 举报
回复
就这样da.Fill(ds),系统会自动分配表名
NoReady 2003-09-29
  • 打赏
  • 举报
回复
就是你根本没有saleman这个table

Imports System.Data.SqlClient
Public Class Form1
Inherits System.Windows.Forms.Form
Private da As SqlDataAdapter
Private ds As New DataSet()
  '----add this line to your code-----
Dim tlb As New DataTable("saleman")
  '---------------------------------------
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
Private cnn As New SqlConnection()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnn.ConnectionString = "server=rcnufsoft;user id=sa;password=;database=working"
cnn.Open()
da = New SqlDataAdapter("select * from working.dbo.salesman", cnn)
da.Fill(ds, "salesman")
DataGrid1.DataSource = ds.Tables(0)
End Sub

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧