求VB大神!!!关于VB和SQL连接 80
VB之前没好好学,所以现在对VB的了解几乎是0,sql期末交的作业要和VB连接,我们SQL的老师对VB也不是很擅长。跪求VB大神帮看看错在哪里怎么改,谢谢了。题目是sql...
VB之前没好好学,所以现在对VB的了解几乎是0,sql期末交的作业要和VB连接,我们SQL的老师对VB也不是很擅长。跪求VB大神帮看看错在哪里怎么改,谢谢了。
题目是sql中建立数据库,数据库中有三张表,在VB里对表格做添加,删除,修改。
一张表上没问题,切换到另一张表就不行了
表格切换:不能切换对话框
flag = "项目"
Set rs = conn.Execute("select * from 项目信息")
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
修改一行:可以运行,但是确定键没有效果
atype = "update"
If (flag = "项目信息") Then
Dialog1.Show
Else
Dialog.Show
End If
在表格里添加一行信息:
atype = "insert"
If (flag = "项目信息") Then
Dialog1.Show
Else
Dialog.Show
End If
添加,修改的运动员确定键:运动员表可以添加,切换的时候不能对话框不能切换到项目表的对话框,项目表一添加就到运动员表上了。
Private Sub Command1_Click()
Dim name As String
Dim id As String
id = Text1.Text
name = Text2.Text
If (atype = "insert") Then
conn.Execute ("insert into 运动员信息 values('" + id + "'," + "'" + name + "')")
Else
conn.Execute ("update 运动员信息 set 姓名 = '" + name + "'where 运动员编号 = " + id)
End If
Set rs = conn.Execute("select * from 运动员信息")
Set Form1.DataGrid1.DataSource = rs
Form1.DataGrid1.Refresh
Unload Dialog
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Form_Load()
If (atype = "update") Then
Dim selectSql As String
Dim updateSql As String
Dim id As String
id = Form1.DataGrid1.Columns(flag + "编号").CellText(Form1.DataGrid1.Bookmark)
'取得所选数据各个项目
selectSql = "select * from " + flag + "信息 where " + flag + "编号 = " + id
Set rs = conn.Execute(selectSql)
'将所有数据分别填写在文本框当中
Text1.Text = rs.Fields(0)
Text2.Text = rs.Fields(1)
End If
删除一行信息:这个如果不做项目表的添加就可以运行,做了项目表的添加,再删除就出现错误6147 未找到项目编号。
Dim id As String
Dim delSql As String
id = DataGrid1.Columns(flag + "编号").CellText(DataGrid1.Bookmark)
Dim p As String
p = MsgBox("删除后将不可恢复,确认吗?", vbQuestion + vbOKCancel, "确认删除")
If p = vbOK Then
delSql = "delete from " + flag + "信息 where " + flag + "编号 = " + id
conn.Execute (delSql)
End If
Set rs = conn.Execute("select * from 运动员信息")
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
我不知道这么描述对不对,看不明白可以加我QQ476485799,感谢各位大神了 展开
题目是sql中建立数据库,数据库中有三张表,在VB里对表格做添加,删除,修改。
一张表上没问题,切换到另一张表就不行了
表格切换:不能切换对话框
flag = "项目"
Set rs = conn.Execute("select * from 项目信息")
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
修改一行:可以运行,但是确定键没有效果
atype = "update"
If (flag = "项目信息") Then
Dialog1.Show
Else
Dialog.Show
End If
在表格里添加一行信息:
atype = "insert"
If (flag = "项目信息") Then
Dialog1.Show
Else
Dialog.Show
End If
添加,修改的运动员确定键:运动员表可以添加,切换的时候不能对话框不能切换到项目表的对话框,项目表一添加就到运动员表上了。
Private Sub Command1_Click()
Dim name As String
Dim id As String
id = Text1.Text
name = Text2.Text
If (atype = "insert") Then
conn.Execute ("insert into 运动员信息 values('" + id + "'," + "'" + name + "')")
Else
conn.Execute ("update 运动员信息 set 姓名 = '" + name + "'where 运动员编号 = " + id)
End If
Set rs = conn.Execute("select * from 运动员信息")
Set Form1.DataGrid1.DataSource = rs
Form1.DataGrid1.Refresh
Unload Dialog
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Form_Load()
If (atype = "update") Then
Dim selectSql As String
Dim updateSql As String
Dim id As String
id = Form1.DataGrid1.Columns(flag + "编号").CellText(Form1.DataGrid1.Bookmark)
'取得所选数据各个项目
selectSql = "select * from " + flag + "信息 where " + flag + "编号 = " + id
Set rs = conn.Execute(selectSql)
'将所有数据分别填写在文本框当中
Text1.Text = rs.Fields(0)
Text2.Text = rs.Fields(1)
End If
删除一行信息:这个如果不做项目表的添加就可以运行,做了项目表的添加,再删除就出现错误6147 未找到项目编号。
Dim id As String
Dim delSql As String
id = DataGrid1.Columns(flag + "编号").CellText(DataGrid1.Bookmark)
Dim p As String
p = MsgBox("删除后将不可恢复,确认吗?", vbQuestion + vbOKCancel, "确认删除")
If p = vbOK Then
delSql = "delete from " + flag + "信息 where " + flag + "编号 = " + id
conn.Execute (delSql)
End If
Set rs = conn.Execute("select * from 运动员信息")
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
我不知道这么描述对不对,看不明白可以加我QQ476485799,感谢各位大神了 展开
2个回答
展开全部
我觉得你每次调用完sql库后,没有释放sql的读入内存,所以就算你点其他按钮他内存读入的还是之前的表,所以添加时还会添加到第一次的表里。
至于删除第二次点时,你的编号应该随之改变,貌似计算编号的语句位置不对。
具体不知你的每个按钮功能实现顺序,简单看看,改成如下试试。
Set rs = conn.Execute("select * from 运动员信息")
Set DataGrid1.DataSource = rs
id = DataGrid1.Columns(flag + "编号").CellText(DataGrid1.Bookmark)
DataGrid1.Refresh
至于删除第二次点时,你的编号应该随之改变,貌似计算编号的语句位置不对。
具体不知你的每个按钮功能实现顺序,简单看看,改成如下试试。
Set rs = conn.Execute("select * from 运动员信息")
Set DataGrid1.DataSource = rs
id = DataGrid1.Columns(flag + "编号").CellText(DataGrid1.Bookmark)
DataGrid1.Refresh
2014-06-18
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询