如何使用 Web 服务从 asp.net 中的数据库检索值?
How to retrieve values from database in asp.net using web service?
我在 asp.net 上创建了一个登录表单,我想从数据库中检索与电子邮件地址匹配的名字和姓氏。为此,我正在使用网络服务。我应该使用什么查询?我创建的数据库在网络服务上,所有网页都是在客户端上制作的。
如果你问的是查询,你可以这样写查询
select first_name,last_name from table where email_address='emailaddresstomatch'
由于我们不知道所有的细节,下面是关于如何解决您的问题的一般思路。您可以在 Web 服务中添加与此类似的代码,前提是您可以访问那里的数据库。尽管我假设使用的是 asmx Web 服务,但同样的想法也适用于 WCF。
public struct User
{
public string FirstName;
public string LastName;
}
[WebMethod]
public User GetUser(string emailAddress)
{
string first = string.Empty;
string last = string.Empty;
using(var connection = new SqlConnection())
{
connection.Open();
var sqlCommand = new SqlCommand();
sqlCommand.CommandType = CommandType.Text;
// modify query to match actual table and column names
sqlCommand.CommandText = "select firstName, lastName from users where email=@email";
sqlCommand.Parameters.Add(new SqlParameter("@email", emailAddress));
var sqlReader = sqlCommand.ExecuteReader();
while(sqlReader.Read())
{
first = sqlReader.GetValue(0).ToString();
last = sqlReader.GetValue(1).ToString();
}
}
// returns empty strings if no record is found
return new User { FirstName = first, LastName = last };
}
我在 asp.net 上创建了一个登录表单,我想从数据库中检索与电子邮件地址匹配的名字和姓氏。为此,我正在使用网络服务。我应该使用什么查询?我创建的数据库在网络服务上,所有网页都是在客户端上制作的。
如果你问的是查询,你可以这样写查询
select first_name,last_name from table where email_address='emailaddresstomatch'
由于我们不知道所有的细节,下面是关于如何解决您的问题的一般思路。您可以在 Web 服务中添加与此类似的代码,前提是您可以访问那里的数据库。尽管我假设使用的是 asmx Web 服务,但同样的想法也适用于 WCF。
public struct User
{
public string FirstName;
public string LastName;
}
[WebMethod]
public User GetUser(string emailAddress)
{
string first = string.Empty;
string last = string.Empty;
using(var connection = new SqlConnection())
{
connection.Open();
var sqlCommand = new SqlCommand();
sqlCommand.CommandType = CommandType.Text;
// modify query to match actual table and column names
sqlCommand.CommandText = "select firstName, lastName from users where email=@email";
sqlCommand.Parameters.Add(new SqlParameter("@email", emailAddress));
var sqlReader = sqlCommand.ExecuteReader();
while(sqlReader.Read())
{
first = sqlReader.GetValue(0).ToString();
last = sqlReader.GetValue(1).ToString();
}
}
// returns empty strings if no record is found
return new User { FirstName = first, LastName = last };
}