1. 求关于易语言ACCESS数据库与高级表格的详细教程源码(用的是数据库连接与记录集)高分悬赏!!
.版本2
.子程序建立mdb数据库,整数型,公开,成功返回0,失败返回-1和-2。注意:已经存在的库和表,就不能再建立了。
.参数路径,文本型,,要存放文件的路径
.参数接收文件名,文本型,,要存放的库文件名
.参数密码,文本型,可空,库文件密码
.参数数据表名,文本型,,表名
.参数字段名,文本型,,个字段的名字、类型、长度的字符串
.参数删除表,逻辑型,可空,是否删除表,默认为假
.参数删除字段,逻辑型,可空,是否删除字段,默认为假
.局部变量connad,对象
.局部变量conn,对象
.局部变量Connstr,文本型
Connstr=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=”+路径+“”+接收文件名+选择(是否为空(密码),“”,“;JetOLEDB:DatabasePassword=”+密码)
connad.清除()
conn.清除()
.如果(connad.创建(“ADOX.Catalog”,)=假)
输出调试文本(“ADOX.Catalog对象创建失败”)
返回(-1)
.否则
connad.通用方法(“Create”,Connstr)
.如果结束
'connad.查看()
.如果(conn.创建(“Adodb.Connection”,)=假)
输出调试文本(“Adodb.Connection对象创建失败”)
返回(-2)
.否则
conn.方法(“Open”,Connstr)
.如果(删除表=真)
conn.对象型方法(“Execute”,“DROPTABLE”+数据表名)'删除表
输出调试文本(“删除成功”)
.否则
.如果(删除字段=真)
conn.对象型方法(“Execute”,“ALTERTABLE[”+数据表名+“]DROPCOLUMN[”+字段名+“]”)'删除字段
输出调试文本(“zdm:”+字段名)
.否则
conn.对象型方法(“Execute”,“createtable”+数据表名+“(”+字段名+“)”)'建立新表
.如果结束
.如果结束
.如果结束
conn.方法(“Close”,)
删除表=假
删除字段=假
返回(0)
.子程序取字段类型名,文本型,公开,取字段类型名返回中文
.参数类型,整数型,可空
.局部变量结果,文本型
.判断开始(类型=17)
结果=“数字[字节型](Byte)”
.判断(类型=3)
结果=“数字[长整型](Long)”
.判断(类型=2)
结果=“数字[整型](Short)”
.判断(类型=4)
结果=“数字[单精度](Single)”
.判断(类型=5)
结果=“数字[双精度](Double)”
.判断(类型=6)
结果=“货币型(Currency)”
.判断(类型=130)
结果=“文本型(Char)”
.判断(类型=11)
结果=“逻辑型(BIT)”
.判断(类型=204)
结果=“二进制型(Binary)”
.判断(类型=3)
结果=“自动编号(Counter)”
.判断(类型=203)
结果=“备注型(Memo)”
.判断(类型=7)
结果=“日期/时间(Time)”
.判断(类型=131)
结果=“小数型(Decimal)”
.判断(类型=0)
结果=“#空白型字段(Empty)”
.默认
结果=“未知数据,可能会导致数据出错。”
.判断结束
返回(结果)
.子程序取表名,逻辑型,公开
.参数路径文件名,文本型
.参数密码,文本型,可空
.参数文件名,文本型,,文件名,无需写路径
.参数表名数组,文本型,参考数组
.局部变量Mycat对象,对象
.局部变量Tables对象,对象
.局部变量连接文本,文本型
.局部变量i,整数型
.局部变量表数量,整数型
.局部变量表名,文本型
.如果真(Mycat对象.创建(“ADOX.Catalog”,)=假)
信息框(“你的机器上没有安装ADO。文件位置是C:.dll”,0,)
结束()
.如果真结束
连接文本=“Provider=MicroSoft.Jet.OLEDB.4.0;DataSource=”+文件名+选择(是否为空(密码),“”,“;JetOLEDB:DatabasePassword=”+密码)
Mycat对象.写属性(“ActiveConnection”,连接文本)
Tables对象=Mycat对象.读对象型属性(“Tables”,)
表数量=Tables对象.读数值属性(“Count”,)
.计次循环首(表数量,i)
表名=Tables对象.读对象型属性(“Item”,i-1).读文本属性(“Name”,)'序号从0开始
.如果真(取文本左边(表名,4)≠“MSys”)'过虑掉系统表名
加入成员(表名数组,表名)
'输出调试文本(“表名:”+表名)
.如果真结束
.计次循环尾()
Tables对象.清除()
Mycat对象.清除()
返回(真)
.子程序显示字段信息,整数型,公开
.参数路径,文本型,,要存放文件的路径
.参数接收文件名,文本型,,要存放的库文件名
.参数密码,文本型,可空,库文件密码
.参数数据表名,文本型,,表名
.局部变量连接对象,对象
.局部变量表对象,对象
.局部变量连接文本,文本型
.局部变量表数计次,整数型
.局部变量表数量,整数型
.局部变量表名,文本型
.局部变量字段数量,整数型
.局部变量字段名,文本型
.局部变量字段计次,整数型
.局部变量字段类型,整数型
.局部变量字段长度,整数型
.如果真(连接对象.创建(“ADOX.Catalog”,)=假)
信息框(“你的机器上没有安装ADO。文件位置是C:.dll”,0,)
结束()
.如果真结束
连接文本=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=”+路径+“”+接收文件名+选择(是否为空(密码),“”,“;JetOLEDB:DatabasePassword=”+密码)
输出调试文本(密码)
输出调试文本(密码)
连接对象.写属性(“ActiveConnection”,连接文本)
表对象=连接对象.读对象型属性(“Tables”,)
'表数量=Tables对象.读数值属性(“Count”,)
表名=数据表名
字段数量=表对象.读对象型属性(“Item”,表名).读对象型属性(“Columns”,).读数值属性(“Count”,)
.计次循环首(字段数量,字段计次)
字段名=表对象.读对象型属性(“Item”,表名).读对象型属性(“Columns”,).读对象型属性(“Item”,字段计次-1).读文本属性(“Name”,)
字段类型=表对象.读对象型属性(“Item”,表名).读对象型属性(“Columns”,).读对象型属性(“Item”,字段计次-1).读数值属性(“Type”,)
字段长度=表对象.读对象型属性(“Item”,表名).读对象型属性(“Columns”,).读对象型属性(“Item”,字段计次-1).读数值属性(“DefinedSize”,)
'输出调试文本(到文本(字段长度))
'输出调试文本(取类型名(字段类型))
'输出调试文本(到文本(字段类型))
.计次循环尾()
表对象.清除()
连接对象.清除()
返回(0)
.子程序取字段类型1,文本型,公开,取字段类型名返回英文
.参数类型,文本型,可空
.局部变量结果,文本型
.判断开始(类型=“数字[字节型]”)
结果=“Byte”
.判断(类型=“数字[长整型]”)
结果=“Long”
.判断(类型=“数字[整型]”)
结果=“Short”
.判断(类型=“数字[单精度]”)
结果=“Single”
.判断(类型=“数字[双精度]”)
结果=“Double”
.判断(类型=“货币型”)
结果=“Currency”
.判断(类型=“文本型”)
结果=“Char”
.判断(类型=“文本1”)
结果=“Text(n)”
.判断(类型=“逻辑型”)
结果=“BIT”
.判断(类型=“二进制型”)
结果=“Binary”
.判断(类型=“自动编号”)
结果=“Counter”
.判断(类型=“备注型”)
结果=“Memo”
.判断(类型=“日期/时间”)
结果=“Time”
.判断(类型=“小数型”)
结果=“Decimal”
.判断(类型=“”)
结果=“”
.默认
结果=“未知数据,可能会导致数据出错。”
.判断结束
返回(结果)
.子程序取Access密码,逻辑型,公开,取Access密码,成功返回真,失败返回假
.参数路径文件名,文本型
.参数密码,文本型
.参数版本,文本型
.局部变量文件号
.局部变量加密标志,整数型
.局部变量PassSource97,字节型,,"13"
.局部变量PassSource2k,字节型,,"13"
.局部变量i
.局部变量temp,字节型
.局部变量a
.局部变量标志,逻辑型
.局部变量结果文本,文本型
PassSource97={134,251,236,55,93,68,156,250,198,94,40,230,19}
PassSource2k={161,236,122,156,225,40,52,138,115,123,210,223,80}'加密标志是0x13(19)
文件号=打开文件(路径文件名,1,)
移动读写位置(文件号,#文件首,20)'/0x42处
读入数据(文件号,temp)
.判断开始(到数值(temp)=0)
版本=“ACCESS_97”
.变量循环首(1,13,1,i)
移动读写位置(文件号,#文件首,65+i)'0x42处
读入数据(文件号,temp)
a=位异或(到数值(temp),PassSource97[i])
.如果真(a=0)
密码=“密码为空”
.如果真结束
结果文本=结果文本+字符(a)
.变量循环尾()
.默认
版本=“ACCESS_2K”
移动读写位置(文件号,#文件首,98)'0x62处
读入数据(文件号,temp)
标志=假
加密标志=位异或(到数值(temp),19)
.变量循环首(1,26,2,i)
移动读写位置(文件号,#文件首,65+i)'0x42处
读入数据(文件号,temp)
.如果真(到数值(temp)=0)
跳出循环()
.如果真结束
标志=取反(标志)
.判断开始(标志)
a=位异或(位异或(到数值(temp),PassSource2k[(i+1)÷2]),加密标志)
.如果真(a<32或a>126)
密码=“密码为空”
.如果真结束
.默认
a=位异或(到数值(temp),PassSource2k[(i+1)÷2])
.判断结束
结果文本=结果文本+字符(a)
.变量循环尾()
.判断结束
密码=结果文本
关闭文件(文件号)
返回(真)
2. 易语言操作MDB数据库,求大神指点
就是sql语句,利用数据库连接1和记录集就可以了
.版本2
.支持库eDB
.如果真(数据库连接1.连接Access(取运行目录()+“MDB.mdb”,“”)=假)
信息框(“连接数据库失败!”,0,)
返回()
.如果真结束
记录集1.置连接(数据库连接1)
.版本2
.支持库eDB
sql=“insertinto通讯表(姓名,电话,地址)values('”+编辑框1.内容+“','”+编辑框3.内容+“','”+编辑框2.内容+“')”
.如果(_启动窗口.数据库连接1.执行SQL(sql)=假)
信息框(“添加记录失败!”,0,)
.版本2
.支持库iext
.支持库eDB
临时=“update通讯表set姓名='”+编辑框1.内容+“',电话='”+编辑框3.内容+“',地址='”+编辑框2.内容+“'where编号=”+超级列表框1.取标题(超级列表框1.现行选中项,0)
.如果(_启动窗口.数据库连接1.执行SQL(临时)=假)
信息框(“更改数据失败”,0,)
编辑框2.内容=临时
.版本2
.支持库iext
.支持库eDB
SQL=“deletefrom通讯表where编号=”+超级列表框1.取标题(超级列表框1.现行选中项,0)
.如果(_启动窗口.数据库连接1.执行SQL(SQL)=假)
信息框(“删除数据失败!@”,0,)
.否则
3. 易语言如何写入数据库
.版本
2
.程序集
启动窗口程序集
.子程序
__启动窗口_创建完毕
外部数据库.打开MDB数据库
(“aaa.mdb”,
,
,
,
)
外部数据库.执行
(“UPDATE
aaa
SET
bbb='”
+
编辑框1.内容
+
“'
WHERE
ccc=”
+
编辑框2.内容,
)
外部数据库.关闭
()
;你手工建个access数据库,表的名称aaa,有两项bbb和ccc
;bbb为文本型
;用ccc做主键,改成自动编号。
;更改记录用到
update
语句
;查询记录用到
select
语句,
;外部数据库.查询
(“select
*
from
aaa”)
;要学数据库,你最好找sql语句看一下,要不写不下去的。
4. 请问如何通过易语言代码来创建ACCESS数据库表名和字段名
添加一个 外部数据库1 .版本 2 外部数据库1.打开MDB数据库 (“文件名”, “用户名”, “密码”, , 真) 外部数据库1.执行 (“CREATE TABLE biao (test TEXT , test2 TEXT)”, )