C#中如何将SQL语句中的print内容显示在前台界面中??急!急!急! (详细代码最好 尽量不是纯理论介绍
2个回答
展开全部
你是取myRecord.Fields的记录,所以和ADODC无关....用了ADODB对象,就不要用ADODC控件了,看你自己都绕糊涂了吧?呵呵:
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If RichTextBox1.Text = "" Then
MsgBox " 请输入要查询的单词 ", vbExclamation, "提示信息"
Else
set myRecord=new adodb.recordset
myRecord.Open "SELECT 原型,读音,级别,词性,解释 FROM View1 WHERE 原型 = '"& RichTextBox1.Text &"'",myconn, adOpenKeyset, adLockOptimistic '访问视图
If myRecord.RecordCount = 0 Then
MsgBox " 对不起,您要的单词不在可查询范围内。 ", vbExclamation, "提示信息"
Else
Label1.Caption = myRecord.Fields("原型").Value
Label2.Caption = myRecord.Fields("读音").Value
Label3.Caption = myRecord.Fields("词性").Value
Label4.Caption = myRecord.Fields("级别").Value
Label5.Caption = myRecord.Fields("解释").Value
RichTextBox1.Text = ""
End If
set myRecord=nothing
End If
End If
End Sub
ps:问题补充:
二个方法解决这一问题:
1.在set myRecord=new adodb.recordset下面加一句:
myRecord.CursorLocation = adUseClient
只有这样用客户端游标才能返回recordcount
2.不用adUseClient的话,下面的判断有无记录返回的语句要改:
If myRecord.RecordCount = 0 Then
为:
if myRecord.bof then '无记录返回
PS2:
如果不对记录集进行操作,如下方法效率高:
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
dim sql as string
If KeyAscii = 13 Then
If RichTextBox1.Text = "" Then
MsgBox " 请输入要查询的单词 ", vbExclamation, "提示信息"
Else
sql= "SELECT 原型,读音,级别,词性,解释 FROM View1 WHERE 原型 = '"& trim(RichTextBox1.Text) &"'"
debug.print sql '向立即窗口输出SQL语句,可以从立即可以复制到查询分析器中去调试
set myRecord=myconn.execute(sql)
If myRecord.bof Then
MsgBox " 对不起,您要的单词不在可查询范围内。 ", vbExclamation, "提示信息"
Else
Label1.Caption = myRecord.Fields("原型").Value
Label2.Caption = myRecord.Fields("读音").Value
Label3.Caption = myRecord.Fields("词性").Value
Label4.Caption = myRecord.Fields("级别").Value
Label5.Caption = myRecord.Fields("解释").Value
RichTextBox1.Text = ""
End If
set myRecord=nothing
End If
End If
End Sub
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If RichTextBox1.Text = "" Then
MsgBox " 请输入要查询的单词 ", vbExclamation, "提示信息"
Else
set myRecord=new adodb.recordset
myRecord.Open "SELECT 原型,读音,级别,词性,解释 FROM View1 WHERE 原型 = '"& RichTextBox1.Text &"'",myconn, adOpenKeyset, adLockOptimistic '访问视图
If myRecord.RecordCount = 0 Then
MsgBox " 对不起,您要的单词不在可查询范围内。 ", vbExclamation, "提示信息"
Else
Label1.Caption = myRecord.Fields("原型").Value
Label2.Caption = myRecord.Fields("读音").Value
Label3.Caption = myRecord.Fields("词性").Value
Label4.Caption = myRecord.Fields("级别").Value
Label5.Caption = myRecord.Fields("解释").Value
RichTextBox1.Text = ""
End If
set myRecord=nothing
End If
End If
End Sub
ps:问题补充:
二个方法解决这一问题:
1.在set myRecord=new adodb.recordset下面加一句:
myRecord.CursorLocation = adUseClient
只有这样用客户端游标才能返回recordcount
2.不用adUseClient的话,下面的判断有无记录返回的语句要改:
If myRecord.RecordCount = 0 Then
为:
if myRecord.bof then '无记录返回
PS2:
如果不对记录集进行操作,如下方法效率高:
Private Sub RichTextBox1_KeyPress(KeyAscii As Integer)
dim sql as string
If KeyAscii = 13 Then
If RichTextBox1.Text = "" Then
MsgBox " 请输入要查询的单词 ", vbExclamation, "提示信息"
Else
sql= "SELECT 原型,读音,级别,词性,解释 FROM View1 WHERE 原型 = '"& trim(RichTextBox1.Text) &"'"
debug.print sql '向立即窗口输出SQL语句,可以从立即可以复制到查询分析器中去调试
set myRecord=myconn.execute(sql)
If myRecord.bof Then
MsgBox " 对不起,您要的单词不在可查询范围内。 ", vbExclamation, "提示信息"
Else
Label1.Caption = myRecord.Fields("原型").Value
Label2.Caption = myRecord.Fields("读音").Value
Label3.Caption = myRecord.Fields("词性").Value
Label4.Caption = myRecord.Fields("级别").Value
Label5.Caption = myRecord.Fields("解释").Value
RichTextBox1.Text = ""
End If
set myRecord=nothing
End If
End If
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询