[VB.NET]100分求助!!!急!!!!!!!!!!!!!!!
来源:互联网 发布:js数组转字符串加逗号 编辑:程序博客网 时间:2024/05/03 08:13
100分求助!!!急!!!!!!!!!!!!!!!
我基本不太会VB,想问些比较简单的问题
我有三个TEXT控件,程序代码中我把它们存成Text(i)数组.下面是我的读取access数据库student表的内容代码,我想根据这三个Text控件的输入来进行查询,为什么不好用呢,兄弟们帮忙看一下,急死我了啊。!!!
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = "student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = "student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = "student.性别 = " & " '' " & Text1(i) & " '' "
End Select
If S <> " " Then
S = S & "AND " & S1
Else
S = S1
End If
End If
Next i
SQLString = " SELECT * FROM student WHERE S "
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
每次我运行时都告诉我至少有一个参数没有指定值,我都快疯了,Adodc指定了connectString ,属性中RecordSource 怎么写呢?写select * from student where s 不行吧,S它认识么?所以属性中我都不知道写什么了,还有老提示我的没指定值的问提,大哥们帮帮忙啊,帮我看看我这段程序啊,求求了
__________________________________________________________________________
SQLString = " SELECT * FROM student WHERE S "
改一下再试
SQLString = " SELECT * FROM student WHERE " & S
__________________________________________________________________________
S应该等于什么的吧 应该是等于text1的内容 你可以加上= '' " & Text1(i) & " '' 试试 我也是菜鸟 又没做过 access 我做的也都不一样 不过你用的是文本框的话 应该不用写分类事件吧 我用的是combobox 下拉菜单 用了分类可以 仅供参考
__________________________________________________________________________
SQLString = " SELECT * FROM student WHERE " & S
__________________________________________________________________________
先要学会自己调试,你设置一下断点,看看最终拼接成的字符串是否正确?
另外,尽量不要用拼接的方式组织SQL语句,很容易出错
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = "student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = "student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = "student.性别 = " & " '' " & Text1(i) & " '' "
End Select
If S <> " " Then
''AND 前后给空格
S = S & " AND " & S1
Else
S = S1
End If
End If
Next i
''S是变量单独分隔出来
SQLString = " SELECT * FROM student WHERE " & S
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
__________________________________________________________________________
你这边拼接有问题:
If S <> " " Then
''AND 前后给空格
S = S & " AND " & S1
Else
S = S1
End If
如果这样拼接的话,最后出来的结果是:SELECT * FROM student WHERE AND student.学号 = XX AND student.姓名 = XX AND student.性别 = XX
建议这样来写:
SQLString = " SELECT * FROM student WHERE 1=1 " & S
在前面这样写:
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
__________________________________________________________________________
建议这样来写:
SQLString = " SELECT * FROM student WHERE 1=1 " & S
在前面这样写:
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
S = S & S1
__________________________________________________________________________
大哥们,我按你们的方法都试了,还是不行呀,按你们的方法改完后不提示参数没指定了,但就是点查询按钮没任何反映,ADODC2这个控件右面属性窗口中的RcordSource写什么呢?空么?如果我也写带S的它就又提示我参数没指定值。怎么办啊,我的兄弟们。。。。。
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
S = S & S1
End If
Next i
SQLString = " SELECT * FROM student WHERE 1=1 " & S
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
再试试,如果不行,把断点设在Adodc2.RecordSource = SQLString这上面,把SQLString的值拿到SQL中去查询一下。
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
SQLString = "SELECT * FROM student "
''请看下面的SQL写法,假设你有Text1,Text2,Text3
If Not Text1.Text = String.Empty Then
SQLString &= " Where "
SQLString &= "student.学号 = '' " & Text1.Text & " '' "
End If
If Not Text2.Text = String.Empty Then
If Not Text1.Text = String.Empty Then
SQLString &= " And "
Else
SQLString &= " Where "
End If
SQLString &= "student.姓名 = '' " & Text2.Text & " '' "
End If
If Not Text3.Text = String.Empty Then
If Not Text1.Text = String.Empty Or Not Text2.Text = String.Empty Then
SQLString &= " And "
Else
SQLString &= " Where "
End If
SQLString &= "student.性别 = '' " & Text3.Text & " '' "
End If
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
__________________________________________________________________________
我看到了,按你的方法做设置断点调式时我看到的SQL语句的值是select * from student where student.学号= '' 111 ''(我输入111时查询), 这里要用trim么,还是数据类型能够不对,怎么读不出来呢?哥们你可以加我QQ么54219484,帮我帮到底吧,兄弟
__________________________________________________________________________
我这里不能用QQ。
你这样做:表student.学号的类型是什么类型?如果是int的话,不用加‘’的,直接用;如果是string的话,那就要加‘’的,还有要用trim的。
先试试
__________________________________________________________________________
都是文本类型的,没有INT型的,TRIM我应该怎么样加呢,加在哪?还有ADODC2右面面板上的RcoedSource属性我怎么设置呢,里面也要写SELECT * FROM student WHERE 1=1 & S这个么,还是写什么?
__________________________________________________________________________
DataGrid2的DataSource设为Adodc2。最后可将Adodc2的Visible设为True使之运行时可见。
我是说让你去数据库看看它的类型。
__________________________________________________________________________
Text1.Text.trim
__________________________________________________________________________
我数据库里设计的都是文本类型的,我看了。我问那个ADODC2右面属性里该咋添呢?不是DATAGRID2属性,ADODC2右面属性里有个需要添写SQL语句的地方,添什么呢
__________________________________________________________________________
在命令文本中输入:select * from student
__________________________________________________________________________
感觉你是在做毕业设计...
__________________________________________________________________________
哥们,问题解决了,有一个控件名写错了,很感谢你对我的帮助,只恨不能给你更多的分,也感谢大家了,我记得的大家,下回我散分给大家
__________________________________________________________________________
我基本不太会VB,想问些比较简单的问题
我有三个TEXT控件,程序代码中我把它们存成Text(i)数组.下面是我的读取access数据库student表的内容代码,我想根据这三个Text控件的输入来进行查询,为什么不好用呢,兄弟们帮忙看一下,急死我了啊。!!!
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = "student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = "student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = "student.性别 = " & " '' " & Text1(i) & " '' "
End Select
If S <> " " Then
S = S & "AND " & S1
Else
S = S1
End If
End If
Next i
SQLString = " SELECT * FROM student WHERE S "
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
每次我运行时都告诉我至少有一个参数没有指定值,我都快疯了,Adodc指定了connectString ,属性中RecordSource 怎么写呢?写select * from student where s 不行吧,S它认识么?所以属性中我都不知道写什么了,还有老提示我的没指定值的问提,大哥们帮帮忙啊,帮我看看我这段程序啊,求求了
__________________________________________________________________________
SQLString = " SELECT * FROM student WHERE S "
改一下再试
SQLString = " SELECT * FROM student WHERE " & S
__________________________________________________________________________
S应该等于什么的吧 应该是等于text1的内容 你可以加上= '' " & Text1(i) & " '' 试试 我也是菜鸟 又没做过 access 我做的也都不一样 不过你用的是文本框的话 应该不用写分类事件吧 我用的是combobox 下拉菜单 用了分类可以 仅供参考
__________________________________________________________________________
SQLString = " SELECT * FROM student WHERE " & S
__________________________________________________________________________
先要学会自己调试,你设置一下断点,看看最终拼接成的字符串是否正确?
另外,尽量不要用拼接的方式组织SQL语句,很容易出错
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = "student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = "student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = "student.性别 = " & " '' " & Text1(i) & " '' "
End Select
If S <> " " Then
''AND 前后给空格
S = S & " AND " & S1
Else
S = S1
End If
End If
Next i
''S是变量单独分隔出来
SQLString = " SELECT * FROM student WHERE " & S
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
__________________________________________________________________________
你这边拼接有问题:
If S <> " " Then
''AND 前后给空格
S = S & " AND " & S1
Else
S = S1
End If
如果这样拼接的话,最后出来的结果是:SELECT * FROM student WHERE AND student.学号 = XX AND student.姓名 = XX AND student.性别 = XX
建议这样来写:
SQLString = " SELECT * FROM student WHERE 1=1 " & S
在前面这样写:
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
__________________________________________________________________________
建议这样来写:
SQLString = " SELECT * FROM student WHERE 1=1 " & S
在前面这样写:
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
S = S & S1
__________________________________________________________________________
大哥们,我按你们的方法都试了,还是不行呀,按你们的方法改完后不提示参数没指定了,但就是点查询按钮没任何反映,ADODC2这个控件右面属性窗口中的RcordSource写什么呢?空么?如果我也写带S的它就又提示我参数没指定值。怎么办啊,我的兄弟们。。。。。
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
For i = 0 To 2
If Text1(i) <> " " Then
Select Case i
Case 0
S1 = " AND student.学号 = " & " '' " & Text1(i) & " '' "
Case 1
S1 = " AND student.姓名 = " & " '' " & Text1(i) & " '' "
Case 2
S1 = " AND student.性别 = " & " '' " & Text1(i) & " '' "
End Select
S = S & S1
End If
Next i
SQLString = " SELECT * FROM student WHERE 1=1 " & S
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
再试试,如果不行,把断点设在Adodc2.RecordSource = SQLString这上面,把SQLString的值拿到SQL中去查询一下。
__________________________________________________________________________
Private Sub Command5_Click()
Dim SQLString As String
Dim S1 As String, S As String
Dim i As Integer
SQLString = "SELECT * FROM student "
''请看下面的SQL写法,假设你有Text1,Text2,Text3
If Not Text1.Text = String.Empty Then
SQLString &= " Where "
SQLString &= "student.学号 = '' " & Text1.Text & " '' "
End If
If Not Text2.Text = String.Empty Then
If Not Text1.Text = String.Empty Then
SQLString &= " And "
Else
SQLString &= " Where "
End If
SQLString &= "student.姓名 = '' " & Text2.Text & " '' "
End If
If Not Text3.Text = String.Empty Then
If Not Text1.Text = String.Empty Or Not Text2.Text = String.Empty Then
SQLString &= " And "
Else
SQLString &= " Where "
End If
SQLString &= "student.性别 = '' " & Text3.Text & " '' "
End If
Adodc2.RecordSource = SQLString
Adodc2.Refresh
End Sub
__________________________________________________________________________
我看到了,按你的方法做设置断点调式时我看到的SQL语句的值是select * from student where student.学号= '' 111 ''(我输入111时查询), 这里要用trim么,还是数据类型能够不对,怎么读不出来呢?哥们你可以加我QQ么54219484,帮我帮到底吧,兄弟
__________________________________________________________________________
我这里不能用QQ。
你这样做:表student.学号的类型是什么类型?如果是int的话,不用加‘’的,直接用;如果是string的话,那就要加‘’的,还有要用trim的。
先试试
__________________________________________________________________________
都是文本类型的,没有INT型的,TRIM我应该怎么样加呢,加在哪?还有ADODC2右面面板上的RcoedSource属性我怎么设置呢,里面也要写SELECT * FROM student WHERE 1=1 & S这个么,还是写什么?
__________________________________________________________________________
DataGrid2的DataSource设为Adodc2。最后可将Adodc2的Visible设为True使之运行时可见。
我是说让你去数据库看看它的类型。
__________________________________________________________________________
Text1.Text.trim
__________________________________________________________________________
我数据库里设计的都是文本类型的,我看了。我问那个ADODC2右面属性里该咋添呢?不是DATAGRID2属性,ADODC2右面属性里有个需要添写SQL语句的地方,添什么呢
__________________________________________________________________________
在命令文本中输入:select * from student
__________________________________________________________________________
感觉你是在做毕业设计...
__________________________________________________________________________
哥们,问题解决了,有一个控件名写错了,很感谢你对我的帮助,只恨不能给你更多的分,也感谢大家了,我记得的大家,下回我散分给大家
__________________________________________________________________________
- [VB.NET]100分求助!!!急!!!!!!!!!!!!!!!
- [VB.NET]100分继续求助,急,在线等!!!!!!!!!!!!!!!
- [VB.NET]急!求助
- [VB.NET]急100分求,怎么把一段字符当作命令行执行??
- [VB.NET]急求vb.net2005连接sql和acc数据库代码!~~给分30!
- [VB.NET]求助!
- [VB.NET]求助!!
- [VB.NET]求助: 急, vb2005+access 进销存系统中如何实现进货表,库存表,发货表联动?
- 急,求助
- 求助!!!!急!!!
- 求助!!急!急!
- [VB.NET]50分求助窗体显示问题(相当基础),谢谢!
- 求助?求助?求助?VB.NET查询时间段出错!
- [VB.NET]VB.NET Rs232串口通讯类编程问题(高分求教!急!急!急!)
- [VB.NET]如何取得記錄號,急!
- [VB.NET]水晶报表问题?、急~~~~~
- [VB.NET]关于全局变量的.急!!!
- [VB.NET]急,高手帮忙解决,谢谢!
- 新年祝福
- 如何设置Eclipse工作空间的缺省字符编码(zz)
- Eclipse最新版本3.4(尤其适合VISTA系统)的基本使用
- [VB.NET]如何用VB.NET访问UNIX里的SQL数据库?
- [VB.NET]ADO.NET的Update问题
- [VB.NET]100分求助!!!急!!!!!!!!!!!!!!!
- [VB.NET]如何打开EXCEL同时得到它的每个标签
- [VB.NET]如何将图标放在系统托盘上
- [VB.NET]VB 图像处理
- [VB.NET]来段弱智代码提提神哟 谁帮我把错误给跳过去
- [VB.NET]100分求:如何从数据库取出数据并生成表格显示数据?
- [VB.NET]看看下面的代码,怎么没有错误提示呀!!!!!!
- [VB.NET]求救!!!关于水晶报表的问题....
- [VB.NET]为何一使用串口类SerialPort中的HandShake程序就会没响应?