我正在开发一个非常简单的web服务,希望能得到一些帮助。我从Visual Studio中获取了股票web服务,并在对ODP.NET的了解非常有限的情况下开始修改它。
实际上,我尝试做的是从SQL查询中返回一组结果,其中包含一个我传递给服务的变量。WR_Premise是我想要合并的变量,在我的查询正确工作之后。我使用WCF Test client调用我的函数,但是当我尝试运行以下代码时得到一个InvalidOperationException。
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
Dim wrpremise As Integer
Dim state As String
Dim queryString As String = _
"select MV_OUTAGE_DURATION.CAUSE_DESC, MV_OUTAGE_DURATION.DEV_NAME, MV_OUTAGE_DURATION.DEV_TYPE_NAME, MV_OUTAGE_DURATION.EVENTNUM, MV_OUTAGE_DURATION.OUT_MINUTES, MV_OUTAGE_DURATION.OFF_DTS , MV_OUTAGE_DURATION.RESTORE_DTS , MV_OUTAGE_DURATION.SYS_RESP_TYPE from MV_we_outage_premise, MV_OUTAGE_DURATION where mv_we_outage_premise.evntnum = MV_OUTAGE_DURATION.eventnum and mv_we_outage_premise.we_premise = '995184' order by(MV_OUTAGE_DURATION.RESTORE_DTS)"
Dim command As New OracleCommand(queryString)
value = wrpremise
Dim oradb As String = "Data Source=****;User Id=******;Password=***********;"
Dim conn As New OracleConnection(oradb)
conn.Open()
state = conn.State.ToString()
command.ExecuteNonQuery()
MsgBox(state)
conn.Close()
state = conn.State.ToString()
MsgBox(state)
Return String.Format("You entered: {0}", value)
End Function我可以让服务工作,并在从服务中删除command.ExecuteNonQuery()时返回状态,但这对我帮助不大……另外,有人知道一种简单的方法将结果输出到XML吗?
发布于 2012-11-10 16:08:15
查询中的两个问题
首先,该命令与要检索记录的connection
对于命令连接,请使用
command.Connection = conn对于检索记录
Dim reader as OracleDataReader = command.ExecuteReader()
while (reader.Read())
{
... use your data
}在这里查看OracleDataReader的参考资料,在这里查看OraclaDataAdapter
https://stackoverflow.com/questions/13319923
复制相似问题