C# 从ADO.NET结果集中检索单个列
我有一个网站,设置为查询数据库中的用户名,然后用用户信息填充C# 从ADO.NET结果集中检索单个列,c#,sql,ado.net,C#,Sql,Ado.net,我有一个网站,设置为查询数据库中的用户名,然后用用户信息填充会话[]变量。当我使用服务器的存储过程进行查询时,我会返回整行。如何拆分行并对其进行分析,以便对每个列分别进行分析 我的按钮代码是: protected void Button4_Click(object sender, EventArgs e) { string strConn = WebConfigurationManager.ConnectionStrings["TicketsConnectionString"].Conn
会话[]
变量。当我使用服务器的存储过程进行查询时,我会返回整行。如何拆分行并对其进行分析,以便对每个列分别进行分析
我的按钮代码是:
protected void Button4_Click(object sender, EventArgs e)
{
string strConn = WebConfigurationManager.ConnectionStrings["TicketsConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(strConn);
//Search button
string sqlText = ("select * from [dbo].[User]");
SqlCommand myCommand = new SqlCommand(sqlText,myConnection);
myCommand.CommandType = CommandType.Text;
myConnection.Open();
SqlDataReader objReader;
objReader = myCommand.ExecuteReader();
objGrid.DataSource = objReader;
objGrid.DataBind();
}
更新
我将其更新为stringsqltext=([dbo].[User]中选择'UserID','FirstName',其中UserID='“+txtest.Text+”,Password='“+txtPass.Text+”)代码>
但现在我看到了下面的专栏
第1栏第2栏
UserID FirstName要读取列的值,请使用以下命令:
avar = row["colname"];
而不是:
string sqlText = ("select * from [dbo].[User]");
使用:
这将返回您需要的列
*更新*
对所有属性进行一系列查询肯定不是一个好的选择。通过使用逗号分隔,可以选择所需的所有列,如下所示:
string sqlText = ("select username, otherfield, evenAnotherField from [dbo].[User]");
然后,您可以使用获取所需的值:
var username = objReader["username"];
使用ASP.net查询数据库的方法有很多,因此在获得任何帮助之前,您必须添加更多详细信息,可能还需要添加一些代码。问题是,我有大约8个不同的会话变量,必须填充这些变量。我应该只使用8个不同的查询,还是有更简单的方法?我将其更新为字符串sqlText=([dbo].[User]中的'UserID','FirstName',其中UserID='“+txtest.Text+”'和Password='“+txtPass.Text+”);但是现在我得到了以下列Column1 Column2 UserID firstname我认为示例中的查询没有任何问题,您使用的是databind,因此不需要访问行。
var username = objReader["username"];