CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

急用 如何用代码使DataGrid控件链接到数据库?

楼主hfch1981(韩福畴)2003-12-01 19:55:35 在 VB / 数据库(包含打印,安装,报表) 提问

Public   Function   ExcuteSQL(sql   As   String)   As   String  
        Dim   mycommection   As   Connection  
        Dim   myrecordset   As   Recordset  
    '连接数据库  
        Set   myconnection   =   New   Connection  
        Set   myrecordset   =   New   Recordset  
        mypath   =   App.Path   &   "\mis.mdb"  
        myconnection.Open   "Provider=Microsoft.Jet.OLEDB.4.0;"   &   _  
                  "Data   Source="   &   mypath  
        myrecordset.Open   "[communication]",   myconnection,   adOpenKeyset,   adLockOptimistic  
        Set   ExcuteSQL   =   myrecordset  
  End   Function  
  Private   Sub   cmdok_Click()  
  Dim   sql   As   String  
    spl   =   "select   *   from   communication"  
    Set   DataGrid1.DataSource   =   myrecordset  
                DataGrid1.Refresh  
  End   Sub  
  以上代码那里有问题?  
  请各位高手指点。 问题点数:0、回复次数:6Top

1 楼zcm123(老蝌蚪精 ●~ www.84ren.com 来了就下的源码站)回复于 2003-12-01 20:12:47 得分 0

myconnection.CursorLocation   =adUseClient    
   
  加个这个再式一试Top

2 楼tjl713(tjl)回复于 2003-12-01 21:27:00 得分 0

在通用申明里写上:  
  Public   myCon   As   new   ADODB.Recordset     '用于打开连接  
  Public   myRes   As   new   ADODB.Connection     '用于打开记录  
   
  你的     Dim   mycommection   As   Connection  
        Dim   myrecordset   As   Recordset  
    '连接数据库  
        Set   myconnection   =   New   Connection  
        Set   myrecordset   =   New   Recordset  
  这几条语句就不要了!!!  
   
  下面你还要自己改成myCon.Open等,你自己看着办!  
   
  关键是cmdok_Click()的事件,你要调用你的ExcuteSQL函数。  
   
  Private   Sub   cmdok_Click()  
  Dim   sql   As   String  
    sql   =   "select   *   from   communication"  
    ExcuteSQL(sql)  
   
  Set   DataGrid1.DataSource   =   myrecordset  
                DataGrid1.Refresh  
  End   Sub  
  Top

3 楼hzybc(网友帮帮忙;帮帮网友忙)回复于 2003-12-01 21:59:51 得分 0

Set   ExcuteSQL   =   myrecordset           这句改成  
   
  Set   myrecordset   =   ExcuteSQL(sql)Top

4 楼silverblade(银色刀刃)回复于 2003-12-01 22:38:06 得分 0

Public   Function   ExcuteSQL(sql   As   String)   As   String  
  你的函数声明中声明函数返回值是STRING  
  可返回的却是个RECORDSET  
  你说会对吗?Top

5 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2003-12-02 00:16:37 得分 0

贴一段测试过的  
  Option   Explicit  
  Private   conn   As   ADODB.Connection  
  Private   rs   As   ADODB.Recordset  
   
  Private   Sub   Form_Load()  
  Dim   apppath   As   String  
  Dim   DbFileName   As   String  
  Dim   ConnectString   As   String  
  Dim   i   As   Integer  
  Set   conn   =   New   ADODB.Connection  
  If   Right(App.Path,   1)   =   "\"   Then  
                                  apppath   =   App.Path  
                  Else  
                                  apppath   =   App.Path   &   "\"  
  End   If  
  DbFileName   =   apppath   &   "article.mdb"  
  ConnectString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   _  
                                  DbFileName   &   ";Persist   Security   Info=False;"  
                                   
                                  On   Error   Resume   Next  
                                  With   conn  
                                                  .CursorLocation   =   adUseClient  
                                                   
                                                  .Open   ConnectString  
                                  End   With  
                                   
   
  Set   rs   =   New   ADODB.Recordset  
  rs.Open   "select   id,mc   from   mz",   conn,   1,   3  
  If   rs.EOF   Then  
  Exit   Sub  
  End   If  
  Set   DataGrid1.DataSource   =   rs  
   
  End   SubTop

6 楼online(龙卷风V4.0--决战江湖(MS MVP-VB))回复于 2003-12-02 00:24:42 得分 0

Public   Function   ExcuteSQL(sql   As   String)   As   String  
  你的函数声明中声明函数返回值是STRING  
  可返回的却是个RECORDSET  
   
  改正后的代码  
  Option   Explicit  
  Private   conn   As   adodb.Connection  
  Private   rs   As   adodb.Recordset  
   
  Private   Function   ExcuteSQL(sql   As   String)   As   adodb.Recordset  
        Dim   apppath   As   String  
  Dim   DbFileName   As   String  
  Dim   ConnectString   As   String  
  Dim   i   As   Integer  
  Set   conn   =   New   adodb.Connection  
  If   Right(App.Path,   1)   =   "\"   Then  
                                  apppath   =   App.Path  
                  Else  
                                  apppath   =   App.Path   &   "\"  
  End   If  
  DbFileName   =   apppath   &   "article.mdb"  
  ConnectString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   _  
                                  DbFileName   &   ";Persist   Security   Info=False;"  
                                   
                                  On   Error   Resume   Next  
                                  With   conn  
                                                  .CursorLocation   =   adUseClient  
                                                   
                                                  .Open   ConnectString  
                                  End   With  
         
        Set   rs   =   New   adodb.Recordset  
        rs.Open   sql,   conn,   1,   3  
          If   rs.EOF   Then  
                  Exit   Function  
          End   If  
          Set   ExcuteSQL   =   rs  
  End   Function  
  Private   Sub   Command1_Click()  
  Dim   sql   As   String  
  sql   =   "select   id,mc   from   mz"  
    Set   DataGrid1.DataSource   =   ExcuteSQL(sql)  
    DataGrid1.Refresh  
  End   Sub  
   
   
  Top

相关问题

  • 高分求一个DataGrid控件:标题允许多行显示,有源代码最好,小弟急用,拜托各位了
  • 如何用代码操作datagrid控件?
  • 急用! 求将xml绑定到 DataGrid控件上!
  • 在datagrid控件模版中的服务器控件怎么编写代码 怎么添加事件代码
  • 怎样不用控件吧datagrid绑定到ado代码上
  • 谁有DATAGRID控件自定义分页的完整C#代码??
  • datagrid控件中显示html格式的问题!附代码
  • 怎样用代码来生成datagrid控件的选择列?
  • ADO数据库控件代码实现与DataGrid连接,急!
  • 急用一个数据库GRID控件

关键词

  • 函数
  • 代码
  • 数据库
  • datagrid
  • 连接
  • sql
  • excutesql
  • myrecordset
  • apppath
  • adodb

得分解答快速导航

  • 帖主:hfch1981

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo