永发信息网

请教各位大侠下面这段代码为什么总是提示dataset为空. 数据库连接是成功的,但是dataset总是为空.

答案:2  悬赏:20  手机版
解决时间 2021-01-03 19:33
  • 提问者网友:温旧梦泪无声
  • 2021-01-03 07:50
Driver={SQL erver};Server=XXXX;Database=XXXX;Uid=sa, con) '.Data.DataSet Public Function Datalog_Connect() As Boolean Try constr = " con = New OdbcConnection(constr) con;Engdataset.Clear() EngDataAdapter.Fill(Engdataset, &quot.Open() constr = "select * from customerall"all") 'Return True MsgBox("connected" EngDataAdapter.SelectCommand = New OdbcCommand(constrPartial Class _Default Inherits System.Web.UI;) Catch ex As Exception 'Return False MsgBox(ex.Message.ToString) End Try Return True End Function Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.Tables.Item(&quot.Page Dim constr As String 'Public conn As New MySqlConnection Public connn As New SqlConnection Public con As New OdbcConnection Public EngDataAdapter As New OdbcDataAdapter Public Engdataset As System;customerall") 'Engdataset.EventArgs) Handles Me;Pwd=sa&quot
最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-01-03 08:06
那么现在我要想把SQL里的数据拿出来存放在DataSet怎么办呢,这时就要用SqlDataAdapter去处理,一个DataSet可以包含多个DataTable,你可以将DataSet看成是一个excel表格,我们知道一个excel表格里可以有很多sheet,要知道...他们是一个道理的

EndsWith
判断一个字符串是不是以某个特定的字符串结束的, if(sel.EndsWith(&quot,至于它里面是怎么处理的,你不用深究, sheet1,它的作用是将数据在不同的存储设备之间相互转换(什么是存储设备?就是存储数据的集合,DataSet,DataTable都是存储设备): sheet0, sheet2,它把SQL里的数据拿出来变成DataSet认可的格式后存放进去,数据在SQL Server里存放的格式和在DataSet里的存储格式是不一样的SqlDataAdapter
SqlDataAdapter是数据适配器,知道怎么用它就可以了

DataSet
上面已经说了是存放数据的集合
全部回答
  • 1楼网友:慢性怪人
  • 2021-01-03 08:54
你的代码更新不了数据 因为在你要提交更新前数据集是即时查询数据库的 没有获取当前修改的数据 思路是这样的: 先查询,绑定数据集(要更新的数据集需要设置为当前模块的变量) 等你在datagridview修改数据后继续进行下面的操作 然后是再在其他的事件中提交修改 比如: 你在某个窗体内定义 sqlconnection conn; dataset ds = new dataset(); sqlcommand cmd ; sqldataadapter sqldataadapter1; 在fromload中添加如下代码(没有测试,复制了你的代码) string sql = "select top 20 * from syskf order by id desc"; sqlconnection conn = new sqlconnection(game.usersqlstr()); sqlcommand cmd = new sqlcommand(sql, conn); sqldataadapter sqldataadapter1 = new sqldataadapter(); sqldataadapter1.selectcommand = cmd; conn.open(); sqldataadapter1.fill(ds, "gamescore"); datagridview1.datasource = ds; datagridview1.datamember = "gamescore"; conn.close(); conn.dispose(); 然后放一个按钮,在click事件中处理: if(conn.state.equals(connectionstate.closed)) conn.open(); sqlcommandbuilder objbuilder = new sqlcommandbuilder(sqldataadapter1); sqldataadapter1.updatecommand = objbuilder.getupdatecommand(); sqldataadapter1.update(ds, "gamescore"); ds.acceptchanges(); conn.close(); conn.dispose(); datagridview1.datasource = ds; datagridview1.datamember = "gamescore"; conn.close(); conn.dispose(); 大概思路就是这样的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯