易语言吧 关注:266,857贴子:1,667,443
  • 13回复贴,共1

易语言对ACCESS数据库的一些基本操作

只看楼主收藏回复

在这里偷师了一段时间,就发一篇比较有注释的,这篇算是对最近的练习的总结吧(本文一些解译也是复制来的)
入门东西,有错的请大牛们指出,谢谢
对数据库基本的操作就是查询,修改,添加,删除
查询的
select 字段名 from 表名 where 条件
修改的
update 表名 set 欲修改的字段名1=该字段的新值,欲修改的字段名2=该字段的新值 where 条件
添加的
insert into 表名(字段1,字段2,字段3) values (字段1的值,字段2的值,字段3的值)
删除的
delete from 表名 where 条件
了解后就再套用了差不多了,主要出错的就是条件怎么写的问题了
看下图






IP属地:广东1楼2015-01-24 13:41回复
    .版本 2
    .支持库 iext
    .程序集 窗口程序集1
    .子程序 __启动窗口_创建完毕
    .局部变量 aa, 对象
    .如果 (取反 (文件是否存在 (取运行目录 () + “\1.mdb”))) ' 判断数据库是否存在
    aa.创建 (“ADOX.Catalog”, )
    aa.通用方法 (“Create”, “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + 取运行目录 () + “\1.mdb”)
    aa.清除 ()
    ' 以上三行我也不懂,反正就是创建一个MDB文件,取运行目录那就是创建位置
    外部数据库1.打开MDB数据库 (取运行目录 () + “\1.mdb”, , , , )
    外部数据库1.执行 (“CREATE TABLE Data (第一列 autoincrement , 第二列 TEXT , 第三列 TEXT)”, )
    ' 加载这个数据库,建一个表DATA并定义表头 第一列,第二列,第三列
    .否则
    外部数据库1.打开MDB数据库 (取运行目录 () + “\1.mdb”, , , , )
    .如果结束
    加载列表 () ' 加载数据到超级列表框中的子程序,见下面的子程序
    .子程序 加载列表
    .局部变量 显示数据, 整数型
    .局部变量 索引, 整数型
    超级列表框1.全部删除 () ' 清除原来的数据
    显示数据 = 外部数据库1.查询 (“select * from Data ”) ' 读数据的时,先要用查询命令查这个表
    ' 查询记录格式:select 字段名 from 表名 where 条件 ,若后面的去掉就直接查查询整个表
    外部数据库1.到首记录 (显示数据)
    .判断循环首 (外部数据库1.尾记录后 (显示数据) = 假)
    索引 = 超级列表框1.插入表项 (, , , , , )
    超级列表框1.置标题 (索引, 0, 到文本 (外部数据库1.读 (显示数据, 1)))
    超级列表框1.置标题 (索引, 1, 外部数据库1.读 (显示数据, 2))
    超级列表框1.置标题 (索引, 2, 外部数据库1.读 (显示数据, 3))
    外部数据库1.到后一记录 (显示数据)
    .判断循环尾 () ' 循环就是把查询到的都加入到列表中
    外部数据库1.关闭记录集 (显示数据)
    .子程序 _刷新_被选择
    加载列表 () ' 就是重新加载下
    .子程序 _添加_被选择
    按钮1.标题 = “添加” ' 这些就能使用一个按键做不同的事
    编辑框1.内容 = “”
    .子程序 _修改_被选择
    编辑框1.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 0)
    编辑框2.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
    编辑框3.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 2)
    按钮1.标题 = “修改”
    ' 要修改需知原数据才方便去修改
    .子程序 _删除_被选择
    外部数据库1.执行 (“delete from Data where 第一列=” + 超级列表框1.取标题 (超级列表框1.现行选中项, 0), )
    ' 删除命令,delete from 表名 where 条件
    ' 第一列上面定义为数值类的,就如这样,若是以文本类的要在=加 ’ ,在最后还要加上 “‘” 例如:
    ' 外部数据库1.执行 (“delete from Data where 第一列=‘” + 超级列表框1.取标题 (超级列表框1.现行选中项, 1)+“’”, )
    加载列表 ()
    .子程序 _超级列表框1_右键单击表项
    .如果真 (超级列表框1.现行选中项 ≠ -1) ' 选中有效的才弹菜单
    超级列表框1.弹出菜单 (菜单, , )
    .如果真结束
    .子程序 _按钮1_被单击
    .判断开始 (按钮1.标题 = “添加”) ' 根据按钮名去操作不同的命令
    .如果 (编辑框2.内容 ≠ “” 且 编辑框3.内容 ≠ “”) ' 两个编辑框不为空才执行
    外部数据库1.执行 (“insert into Data(第二列,第三列) values ('” + 编辑框2.内容 + “','” + 编辑框3.内容 + “' )”, )
    ' 因为第一列会自动加数,不用再给它定义数值,所以就只需增加第二第三列的内容就行
    ' insert into 表名(字段1,字段2,字段3) values (字段1的值,字段2的值,字段3的值) 就是添加新的数据
    .否则
    信息框 (“还没有填写完!”, #信息图标, “添加错误”)
    返回 ()
    .如果结束
    .默认
    .如果 (编辑框2.内容 ≠ “” 且 编辑框3.内容 ≠ “”)
    外部数据库1.执行 (“update Data set 第二列='” + 编辑框2.内容 + “',第三列='” + 编辑框3.内容 + “'where 第一列=” + 编辑框1.内容, )
    ' 以某一列的值不变,然后修改其他,这里是以第一列的值不变,因为第二第三列我们要修改
    ' 修改 update 表名 set 欲修改的字段名1=该字段的新值,欲修改的字段名2=该字段的新值 where 条件
    .否则
    信息框 (“还没有填写完!”, #信息图标, “修改错误”)
    返回 ()
    .如果结束
    .判断结束
    编辑框2.内容 = “”
    编辑框3.内容 = “”
    加载列表 ()


    IP属地:广东2楼2015-01-24 13:42
    回复
      2025-10-12 01:02:56
      广告
      不感兴趣
      开通SVIP免广告
      我自己编的一个为什么删除不了数据啊,调试输出的sql语句都是没问题的,为什么执行不了啊??


      IP属地:北京3楼2015-02-25 22:37
      收起回复
        。。。。。。为何这么麻烦。。。用【数据库连接】这个组件链接MDB,直接用记录集操作


        IP属地:河南4楼2015-02-25 22:54
        回复
          数据库连接+记录集 楼主可以去看看


          IP属地:重庆来自Android客户端6楼2015-02-26 01:58
          回复
            MD看头像还以为是虫子


            来自Android客户端7楼2015-02-26 02:34
            回复

              试了好多次了,都不行。。。我用的是2013 64位的access


              IP属地:重庆8楼2016-05-30 21:42
              回复
                实际上用数据库连接配合记录集比你这个简单得多


                IP属地:中国台湾来自Android客户端9楼2016-05-30 21:48
                收起回复
                  2025-10-12 00:56:56
                  广告
                  不感兴趣
                  开通SVIP免广告
                  還不如我EF簡單 易語言看著好變扭


                  来自Android客户端11楼2016-07-31 09:13
                  回复