1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vb.net操作数据库之ACCESS(2)

vb.net操作数据库之ACCESS(2)

时间:2022-12-17 11:52:40

相关推荐

vb.net操作数据库之ACCESS(2)

数据库|mysql教程

,操作,数据库,ACCESS,图片,声音,

数据库-mysql教程

易语言php加密模块源码下载,ubuntu连不了外网,椰土爬虫时间,php memched,seo微整lzw

由于图片,声音不能直接存储,这里就要用到数据流方式了。对于.NET中的一些术语概念我仍然很迷糊,在学习中。主要我不是专业的, 只是开始学了点VB6代码,然后就用了,所以目前只是会写点代码,却不知道原理,很惭愧。 哎哟,走题了,赶紧回来,不好意

味美多网址导航源码,.wubi.装ubuntu,爬虫服务分发url,nesbot php,seo手机查询lzw

电玩娱乐城源码,ubuntu页面启动栏,属于Tomcat弱口令的是,高德api爬虫,php判断上传图片大小,区域网站seolzw

由于图片,声音不能直接存储,这里就要用到数据流方式了。对于.NET中的一些术语概念我仍然很迷糊,在学习中。主要我不是专业的,

只是开始学了点VB6代码,然后就用了,所以目前只是会写点代码,却不知道原理,很惭愧。

哎哟,走题了,赶紧回来,不好意思!

好吧,我们先看看图片和声音的存储和读取。看下代码。

’这段代码是插入图片和声音的代码

’第一个就是图片了,path当然是图片的地址了

Picturebyte = puter.FileSystem.ReadAllBytes(PicturePath)

’下面这个就是声音咯,voicepath自然还是声音地址了

Voicebyte = puter.FileSystem.ReadAllBytes(VoicePath)

‘这里就开始照旧写SQL,区别以前的地方就是这里是用COMMAND的一个参数来赋值

str = New System.Text.StringBuilder

str.Append(” INSERT INTO WORDINFO ([PICTURE],[ENGLISHNAME],[CHINESENAME],[VOICE],[Class]) “)

str.Append(” VALUES(?,?,?,?,?)”)

cmd = New OleDb.OleDbCommand(str.ToString, DBConnection)

cmd.Parameters.Add(New OleDb.OleDbParameter)

cmd.Parameters(0).Value = Picturebyte

cmd.Parameters.Add(New OleDb.OleDbParameter)

cmd.Parameters(1).Value = EnglishName

cmd.Parameters.Add(New OleDb.OleDbParameter)

cmd.Parameters(2).Value = ChineseName

cmd.Parameters.Add(New OleDb.OleDbParameter)

cmd.Parameters(3).Value = Voicebyte

cmd.Parameters.Add(New OleDb.OleDbParameter)

cmd.Parameters(4).Value = Classstring

cmd.ExecuteNonQuery()’sql写完了就开始执行

DBConnection.Close()

MsgBox(“Save OK”, MsgBoxStyle.Information)

看看上面的代码是不是很简单了?就这样就可以存储进数据库咯,我这里还是用ACCESS来演示的,sql之类的还要简单。

行了,不说别的了,继续实行功能吧,其他的问题我放在最后交代。

下面我们来看看如何读取,看代码。(怎么有点像武侠上看刀一个味?呵)

Dim Englishname As String

Dim Picturebyte() As Byte

Dim Voicebyte() As Byte

Dim stream As New ADODB.Stream

Englishname = Trim(SearchTBox.Text)

If Englishname “” Then

DBConnection.ConnectionString = DB_CnStr()

DBConnection.Open()

‘开始查询

Dim sql As New System.Text.StringBuilder

sql.Append(” SELECT * FROM WORDINFO”)

sql.Append(” WHERE ENGLISHNAME=”).Append(Englishname).Append(“‘”)

Dim cmd As New OleDb.OleDbCommand(sql.ToString, DBConnection)

Dim RS As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(cmd)

Dim DT As New DataTable

RS.Fill(DT)

DBConnection.Close()

‘有查到则显示出来

If DT.Rows.Count = 0 Then

MsgBox(“No Record “, MsgBoxStyle.Critical, “Error”)

Exit Sub

Else

‘界面初始化

Modifybtn.Enabled = True

Deletebtn.Enabled = True

‘EnglishNameTBox.Enabled = True

ChineseNameTBox.Enabled = True

ClassTbox.Enabled = True

InsertPicLinkLab.Enabled = True

InsertVoiceLinkLab.Enabled = True

TestLinkLab.Enabled = True

RecordLinkLab.Enabled = True

Printbtn.Enabled = True

SearchTBox.Text = “”

’上面你可以不要看了,关键来咯,下面是开始显示图片

Picturebyte = DT.Rows(0).Item(1)

PictureBox1.Image = Bitmap.FromStream(New IO.MemoryStream(Picturebyte, True), True)

EnglishNameTBox.Text = DT.Rows(0).Item(2).ToString

ChineseNameTBox.Text = DT.Rows(0).Item(3).ToString

ClassTbox.Text = DT.Rows(0).Item(5).ToString

‘这里是取出声音文件了,需要交代的是,我研究了很久(套用行家台词),没找到好的方法,

‘好像只能先把声音文件暂存出来,然后你去播放之类的动作。不知道能不能直接播放流文件,

’或者有其他的方法,这个是刚刚想到的,呵呵,以后去尝试下。

With stream

.Mode = ADODB.ConnectModeEnum.adModeReadWrite

.Type = ADODB.StreamTypeEnum.adTypeBinary

.Open()

.Write(DT.Rows(0).Item(4))

.SaveToFile(“c:/test.wav “, ADODB.SaveOptionsEnum.adSaveCreateOverWrite)

End With

VoiceTBox.Text = “c:/test.wav “

End If

Else

MsgBox(“English Name is empty”, MsgBoxStyle.Critical, “Error”)

End If

OK,上面一些话呢就是说了下存储和读取了,其他的更新之类的就不要说了吧?我想大家肯定比我还聪明。

不知道这样用代码来说,能不能帮助到大家清楚这些操作方法呢,希望大家能和我交流,我的空间里有联系方式。

最后呢,我还要啰嗦下,其实图片和声音之类的文件太大,或者你的程序中用到很多的话,还是不要直接存储到数据库里,自己单独用

一个文件夹放置他们,然后呢你就把这些文件的地址保存到数据库里,这样来说就会很合理化了,不会影响到数据库和程序的性能。

我这里只是做一个介绍,大的项目就要有性能方面的考虑了。好了,就说这么多,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。