一直想写下数据库操作方面的,只是没什么时间(好像是借口,应该是懒或者没心情吧,呵呵)。最近发现csdn上
还是每天有人要问这些内容,我有的时候就懒的回答,呵呵,主要不断的去找代码给他们累啊。所以还是听高人的,来
个一劳永逸,自己重新温习下,也好给其他人一些帮助。
这个数据库操作我会写个系列性的吧, 先写access。不知道这个一篇能写多长,不行我要分级篇了。
其实access的操作基本都其他数据库一个样,只是长的不一样,大家有种畏惧还是陌生?其实是纸老虎啦。
好了,先说连接方面:
public function db_cnstr() as string return provider=microsoft.jet.oledb.4.0;data source= & application.startuppath & ./flashcard.mdb end function
上面的代码就是一个公用函数,因为多处要用到,懒得每次都写,直接调用下就ok了。中间部分就是一个数据库连接字串,
data source= & application.startuppath & ./flashcard.mdb这里就是设置你的数据库地址,具体代码不用我解释了吧?
如果有密码就需要再加一个账号密码了.
user id=myusername;password=mypassword
这个资料太多了,也基本差不多,随便抓抓就来咯。
那下面是不是要说说如何操作了?对,操作数据库嘛,无非就是查询,增加,删除,修改这几种。代码方面基本也差不多了,只是sql上要换名字。废话不说了,直接上代码好了。
‘这里就是“查询”部分咯,具体怎么查是写sql的问题了,先不讨论 ’先连接 dbconnection.connectionstring = db_cnstr() dbconnection.open() '开始查询 dim sql as new system.text.stringbuilder sql.append( select * from wordinfo) sql.append( where class=').append(classstring).append(') dim cmd as new oledb.oledbcommand(sql.tostring, dbconnection) dim rs as oledb.oledbdataadapter = new oledb.oledbdataadapter(cmd) dt = new datatable rs.fill(dt) dbconnection.close() '有查到则显示出来 rowcount = dt.rows.count if rowcount = 0 then msgbox(no record ,boxstyle.critical, error) me.close() else '这里写显示数据或者应用数据,自己看吧 end if‘开始演示“增加”功能吧,我这里只是演示这个执行的功能,怕有人看不懂,所以在源代码上修改了下 str = new system.text.stringbuilder str.append( insert into wordinfo ([picture],[englishname],[chinesename],[voice],[class]) ) str.append( values(picture,englishname,chinesename,voice,class))‘上面就是一般的sql而已,下面这句很关键,是执行语句。 cmd.executenonquery()’下面是“修改”了。 dbconnection.connectionstring = db_cnstr() dbconnection.open() dim str as new system.text.stringbuilder str.append( update userinfo ) str.append( set [password]=').append(password).append(') str.append( where [username]= ').append(username).append(') debug.writeline() debug.writeline(str.tostring) dim cmd as new oledb.oledbcommand(str.tostring, dbconnection) cmd.executenonquery() msgbox(update ok, msgboxstyle.information)‘好了,最后一个“删除” dim str as new system.text.stringbuilder str.append( delete from userinfo ) str.append( where ) str.append( [username]= ').append(username).append(') debug.writeline() debug.writeline(str.tostring) cmd = new oledb.oledbcommand(str.tostring, dbconnection) cmd.executenonquery() msgbox(删除完成, msgboxstyle.information)
不知道大家有没有看清楚, 这里就是一个access操作的基本内容了。我想你这些明白了,数据库操作也该明白一大半了。
这里我要考下看官了,你有没有注意到查询和新增、插入等有什么区别没?注意看哦,栏位的名称在查询中没有加括号,而
在其他的地方有,为什么呢?我也不知道,哈哈!但是一定要加哦,不加access就不认识,不能成功。记得!!
还有的一些问题,比如存储图片啊,声音啊之类的文件,如何读取然后显示或者播放啊,这又一个技术问题了,呵呵,卖弄下。
