返回web服务中数据库查询的结果[英] returning results of a database query in a web service

问题描述

我在一个 Windows 应用程序中编写了这段代码,它可以工作:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) 处理 Button1.Click
将 ds 调暗为新数据集

将 myDbConnection 调暗为新 OdbcConnection("Driver={Microsoft
Visual FoxPro 驱动程序};"&_
"源类型=DBF;"&_

"SourceDB=i:\probill\;"&_
"排他=否;"&_
"整理=机器;"&_
"空=否;"&_
"删除=否;"&_
"BACKGROUNDFETCH=YES")
Dim mydbcommand As New OdbcCommand("select flag from act_frau
其中act =''''+ TextBox1.Text.Trim + "''", myDbConnection)
myDbConnection.Open()
将结果暗淡为 String = mydbcommand.ExecuteScalar()
myDbConnection.Close()
MessageBox.Show(结果)
结束子
那么为什么这不起作用:

<WebMethod()_
公共函数 CashOnly(ByVal act String) As String
将 ds 调暗为新数据集
将 myOdbcConnection 调暗为新的 OdbcConnection("Driver={Microsoft
Visual FoxPro 驱动程序};"+ _
"源类型=DBF;"+ _
"SourceDB=i:\probill\;"+ _
"排他=否;"+ _
"整理=机器;"+ _
"空=否;"+ _
"删除=否;"+ _
"BACKGROUNDFETCH=YES")

Dim myOdbcCommand As New OdbcCommand("select flag from act_frau
其中act =''''+ act.Trim + "''", myOdbcConnection)

myOdbcConnection.Open()
暗淡结果 As String = myOdbcCommand.ExecuteScalar()
myOdbcConnection.Close()

返回结果
结束函数

我得到:

System.Data.Odbc.OdbcException: 错误 [42S02] [Microsoft][ODBC Visual
FoxPro Driver]文件"act_frau.dbf"不存在.
在 System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,
重码重码)
在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
行为, String 方法, Boolean needReader, Object[] methodArguments,
SQL_API odbcApiMethod)
在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
行为,字符串方法,布尔需要Reader)
在 System.Data.Odbc.OdbcCommand.ExecuteScalar()
在 TestWebService1.PaymentService1.CashOnly(String act) in
C:\Documents and Settings\cj\My Documents\Visual Studio
2008\Projects\TestWebService1\TestWebService1\PaymentService1.asmx.vb:line
47

推荐答案

cj,

可能odbc驱动不在服务器上,但是你为什么用这个
服务器上的提供程序不完整.

当我还是你时,我会访问 FoxPro 新闻组.我知道有很多
更可靠的解决方案,他们知道.

就像我会解决你的问题一样.

科尔

"cj"<cj@nospam.nospamschreef in bericht
新闻:eT**************@TK2MSFTNGP06.phx.gbl...
>我在 Windows 应用程序中编写了这段代码,它可以工作:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) 处理 Button1.Click
将 ds 调暗为新数据集

将 myDbConnection 调暗为新 OdbcConnection("Driver={Microsoft Visual
FoxPro 驱动程序};"&_
"源类型=DBF;"&_

"SourceDB=i:\probill\;"&_
"排他=否;"&_
"整理=机器;"&_
"空=否;"&_
"删除=否;"&_
"BACKGROUNDFETCH=YES")
Dim mydbcommand As New OdbcCommand("select flag from act_frau
其中act =''''+ TextBox1.Text.Trim + "''", myDbConnection)
myDbConnection.Open()
将结果暗淡为 String = mydbcommand.ExecuteScalar()
myDbConnection.Close()
MessageBox.Show(结果)
结束子
那么为什么这不起作用:

<WebMethod()_
公共函数 CashOnly(ByVal act String) As String
将 ds 调暗为新数据集
将 myOdbcConnection 调暗为新的 OdbcConnection("Driver={Microsoft
Visual FoxPro 驱动程序};"+ _
"源类型=DBF;"+ _
"SourceDB=i:\probill\;"+ _
"排他=否;"+ _
"整理=机器;"+ _
"空=否;"+ _
"删除=否;"+ _
"BACKGROUNDFETCH=YES")

Dim myOdbcCommand As New OdbcCommand("select flag from act_frau
其中act =''''+ act.Trim + "''", myOdbcConnection)

myOdbcConnection.Open()
暗淡结果 As String = myOdbcCommand.ExecuteScalar()
myOdbcConnection.Close()

返回结果
结束函数

我得到:

System.Data.Odbc.OdbcException: 错误 [42S02] [Microsoft][ODBC Visual
FoxPro Driver]文件"act_frau.dbf"不存在.
在 System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,
重码重码)
在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
行为, String 方法, Boolean needReader, Object[] methodArguments,
SQL_API odbcApiMethod)
在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
行为,字符串方法,布尔需要Reader)
在 System.Data.Odbc.OdbcCommand.ExecuteScalar()
在 C:\Documents
中的 TestWebService1.PaymentService1.CashOnly(String act)和设置\cj\我的文档\Visual Studio
2008\Projects\TestWebService1\TestWebService1\PaymentService1.asmx.vb:line
47

2008 年 6 月 24 日星期二 14:37:56 -0400,cj <cj@nospam.nospamwrote:

¤ 那么为什么这不起作用:
¤
¤ <WebMethod()_
¤ 公共函数 CashOnly(ByVal act String) As String
¤ 将 ds 调暗为新数据集
¤ 将 myOdbcConnection 调暗为新的 OdbcConnection("Driver={Microsoft
¤ Visual FoxPro 驱动程序};"+ _
¤ "SourceType=DBF;"+ _
¤ "SourceDB=i:\probill\;"+ _
¤ "独家=否;"+ _
¤ "整理=机器;"+ _
¤ "NULL=NO;"+ _
¤ "删除=否;"+ _
¤ "BACKGROUNDFETCH=YES")
¤
¤ Dim myOdbcCommand As New OdbcCommand("select flag from act_frau
¤ where act = ''"+ act.Trim + "''", myOdbcConnection)
¤
¤ myOdbcConnection.Open()
¤ Dim results As String = myOdbcCommand.ExecuteScalar()
¤ myOdbcConnection.Close()
¤
¤ 返回结果
¤ 结束函数
¤
¤ 我明白了:
¤
¤ System.Data.Odbc.OdbcException: 错误 [42S02] [Microsoft][ODBC Visual
¤ FoxPro Driver]文件"act_frau.dbf"不存在.
¤ 在 System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,
¤ RetCode retcode)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
¤ 行为、String 方法、Boolean needReader、Object[] methodArguments、
¤ SQL_API odbcApiMethod)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
¤ 行为、String 方法、Boolean needReader)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteScalar()
¤ 在 TestWebService1.PaymentService1.CashOnly(String act) in
¤ C:\Documents and Settings\cj\My Documents\Visual Studio
¤ 2008\Projects\TestWebService1\TestWebService1\PaymentService1.asmx.vb:line
¤ 47

我在哪里开车?这是映射到网络资源的驱动器号还是本地驱动器
网络服务器?
保罗
~~~~
Microsoft MVP (Visual Basic)

i:是一个网络驱动器.我使用 i: 在第一个有效的示例中.
我不明白为什么该代码会在按钮单击时起作用
windows 应用程序,而不是我的网络服务的一部分.我正在发布网络
服务到本地主机.

保罗克莱门特写道:
2008 年 6 月 24 日星期二 14:37:56 -0400,cj <cj@nospam.nospam 写道:

¤ 那么为什么这不起作用:
¤
¤ <WebMethod()_
¤ 公共函数 CashOnly(ByVal act String) As String
¤ 将 ds 调暗为新数据集
¤ 将 myOdbcConnection 调暗为新的 OdbcConnection("Driver={Microsoft
¤ Visual FoxPro 驱动程序};"+ _
¤ "SourceType=DBF;"+ _
¤ "SourceDB=i:\probill\;"+ _
¤ "独家=否;"+ _
¤ "整理=机器;"+ _
¤ "NULL=NO;"+ _
¤ "删除=否;"+ _
¤ "BACKGROUNDFETCH=YES")
¤
¤ Dim myOdbcCommand As New OdbcCommand("select flag from act_frau
¤ where act = ''"+ act.Trim + "''", myOdbcConnection)
¤
¤ myOdbcConnection.Open()
¤ Dim results As String = myOdbcCommand.ExecuteScalar()
¤ myOdbcConnection.Close()
¤
¤ 返回结果
¤ 结束函数
¤
¤ 我明白了:
¤
¤ System.Data.Odbc.OdbcException: 错误 [42S02] [Microsoft][ODBC Visual
¤ FoxPro Driver]文件"act_frau.dbf"不存在.
¤ 在 System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,
¤ RetCode retcode)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
¤ 行为、String 方法、Boolean needReader、Object[] methodArguments、
¤ SQL_API odbcApiMethod)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(命令行为
¤ 行为、String 方法、Boolean needReader)
¤ 在 System.Data.Odbc.OdbcCommand.ExecuteScalar()
¤ 在 TestWebService1.PaymentService1.CashOnly(String act) in
¤ C:\Documents and Settings\cj\My Documents\Visual Studio
¤ 2008\Projects\TestWebService1\TestWebService1\PaymentService1.asmx.vb:line
¤ 47

我在哪里开车?这是映射到网络资源的驱动器号还是本地驱动器
网络服务器?
保罗
~~~~
微软 MVP (Visual Basic)

本文地址:https://www.itbaoku.cn/post/1050761.html