正在从web服务中的select语句获取结果
本文关键字:select 语句 获取 结果 web 服务 | 更新日期: 2023-09-27 18:22:35
我编写了一个非常简单的web服务,它从我的SQL DB中的表中选择最前面的一个结果。我在web服务中调用该类时遇到问题。在我的web服务中,我的类中有3个变量。我只想在我使用web服务的项目中能够将变量分配给一组变量。
我在我的web服务中有另一个类,我正在将它插入到我的DB中,它运行良好,所以我知道web服务正在运行。
这就是我所拥有的:
Web服务
[OperationContract]
void ViewDetails();
[DataContract]
public class ViewDetails
{
string titleView = string.Empty;
string descriptionView = string.Empty;
string authorView = string.Empty;
[DataMember]
public string TitleView
{
get { return titleView ; }
set { titleView = value; }
}
[DataMember]
public string DescriptionView
{
get { return descriptionView ; }
set { descriptionView = value; }
}
[DataMember]
public string AuthorView
{
get { return authorView ; }
set { authorView = value; }
}
}
public ViewDetails ViewDetails()
{
string titleView;
string descriptionView;
string authorView;
SqlConnection conn = new SqlConnection(strConnString);
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT TOP 1 [My_Title] AS 'Title', [My_Description] AS 'Description', [My_Author] AS 'Author' FROM [TBL_My_Table]", conn);
SqlDataReader rdrDetails = cmd.ExecuteReader();
if (rdrDetails.HasRows)
{
titleView = rdrDetails.GetSqlString(rdrDetails.GetOrdinal("Title")).ToString();
sescriptionView = rdrDetails.GetSqlString(rdrDetails.GetOrdinal("Description")).ToString();
authorView = rdrDetails.GetSqlString(rdrDetails.GetOrdinal("Author")).ToString();
}
conn.Close();
return new ViewDetails
{
TitleView = titleView,
DescriptionView = descriptionView,
AuthorView = authorView
};
}
我想用查询结果填充变量的位置
public Page1()
{
this.InitializeComponent();
}
有人能帮我获取我在web服务中填写的3个变量,并将它们带到上面的类中显示在我的屏幕上吗?
我试图实现的目标示例
private void btnView_Click(object sender, RoutedEventArgs e)
{
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
string author = string.Empty;
//this is what I think I should be able to do
author = client.ViewDetailsAsync.TitleView;
}
您的web服务实际上并没有返回任何东西。它获取数据,将数据存储在三个局部变量中,然后结束。永远不要实际使用ViewDetails
类或向调用者提供这些值。
更改web服务方法以返回ViewDetails
:
public ViewDetails ViewDetails()
{
// your code
}
然后从方法返回该对象的实例:
public ViewDetails ViewDetails()
{
// your code
return new ViewDetails
{
TitleView = titleView,
DescriptionView = descriptionView,
AuthorView = authorView
};
}
然后,每当有东西调用您的web服务方法时,它都会接收该方法获取的值。