本项目旨在利用Visual Basic编程语言开发一套高效的餐馆点菜系统,该系统能有效提升餐饮业的服务质量和运营效率。
漂亮的界面以及可执行的代码菜谱管理:
```vb
Dim cnn As New ADODB.Connection
Dim rsImage As New ADODB.Recordset
Dim Chunk() As Byte
Dim lngLengh As Long
Dim intChunks As Integer
Dim intFragment As Integer
Const ChunkSize = 1000 定义分块大小为1000字节
Const lngDataFile = 1
Private Sub back_Click()
End Sub
删除菜谱信息按钮点击事件处理代码:
Private Sub Command1_Click(Index As Integer)
Set DataGrid1.DataSource = Nothing
sql = delete * from huncai where cname= & Text1(2).Text & 修正SQL语句中的语法错误
cnn.Execute (sql) 执行删除操作
MsgBox (成功删除信息)
Adodc1.Recordset.Update 更新记录集数据源
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub
退出程序按钮点击事件处理代码:
Private Sub Command2_Click()
End
End Sub
添加菜谱信息按钮点击事件处理代码:
Private Sub Command3_Click()
If Text3.Text = Or Text4.Text = Then
MsgBox (请输入完整信息!) 提示输入完整的信息
Else
sql = insert into huncai(sort,cname,price) values ( & Combo1.Text & , & Text3.Text & , & Val(Text4.Text) & )修正SQL语句中的语法错误
If Trim(txtFilePath.Text) = Then
MsgBox 未选择文件.!!, vbInformation + vbSystemModal, 保存出错
Exit Sub 如果用户没有选择图片文件,则退出子过程
End If
Open Trim(txtFilePath.Text) For Binary Access Read As lngDataFile 打开选定的图片文件以读取模式
lngLengh = LOF(lngDataFile) 获取文件大小
If lngLengh = 0 Then
Close lngDataFile: Exit Sub 如果文件为空,则关闭它并退出子过程
End If
intChunks = lngLengh \ ChunkSize 计算需要多少个分块来存储数据,以及最后一个分片的大小
intFragment = lngLengh Mod ChunkSize
rsImage.AddNew 在数据库中添加新记录以保存菜谱信息和图片
ReDim Chunk(intFragment)
Get lngDataFile, , Chunk()
rsImage!picImage.AppendChunk Chunk()
ReDim Chunk(ChunkSize)
For i = 1 To intChunks
Get lngDataFile, , Chunk()
rsImage!picImage.AppendChunk Chunk()
Next i
rsImage.Update 更新记录集数据源以保存所有新菜谱信息和图片
Close lngDataFile
Call ShowPic()
cnn.Execute sql
Adodc1.Refresh
MsgBox (添加成功!)
End If
End Sub
浏览按钮点击事件处理代码:
Private Sub cmdBrowse_Click()
On Error Resume Next
With cmdlFilePath 使用文件对话框选择图片文件
.Filter = JPG Files|*.JPG|Bitmaps|*.BMP
.ShowOpen
txtFilePath.Text = .FileName
End With
Picture1.Picture = LoadPicture(FileName) 加载选定的图片
End Sub
Public Sub ShowPic()
On Error Resume Next
Open pictemp For Binary Access Write As lngDataFile
lngLengh = rsImage!picImage.ActualSize
intChunks = lngLengh \ ChunkSize
intFragment = lngLengh Mod ChunkSize
ReDim Chunk(intFragment)
Chunk() = rsImage!picImage.GetChunk(intFragment)
Put lngDataFile, , Chunk()
For i = 1 To intChunks
ReDim Buffer(ChunkSize)
Chunk() = rsImage!picImage.GetChunk(ChunkSize)
Put lngDataFile, , Chunk()
Next i
Close lngDataFile
FileName = pictemp
Picture1.Picture = LoadPicture(FileName) 加载临时图片文件中的内容
End Sub
切换到另一个表单的按钮点击事件处理代码:
Private Sub Command4_Click()
Me.Hide
Form7.Show
End Sub
SQL查询刷新按钮点击事件处理代码:
Private Sub Command5_Click()
Set DataGrid1.DataSource = Nothing
Adodc1.Refresh
Set Text1(0).DataSource = Adodc1
Set Text1(2).DataSource = Adodc1
Set Text1(3).DataSource = Adodc1
End Sub
表单加载时的初始化代码:
Private Sub Form_Load()
Text1(0).Text =
Text1(2).Text =
Text1(3).Text =
rsImage.LockType = ad