【发布时间】:2019-07-08 09:33:01
【问题描述】:
在 C# 中,我目前正在从 SQL 获取一些数据,由于我的选择,我的查询只返回一列(参见下面的代码),但在某些情况下,我可能有不止一行,所以我'想知道是否有办法只在一行文本中返回这些行?
这是我当前的代码:
public bool getDBValue(string m_strValue, string m_strFilter, string m_strDBTable, out DataSet m_objDs, out string m_strError)
try
{
using (SqlConnection oConn = new SqlConnection(getConnectionString()))
{
oConn.Open();
SqlDataAdapter l_objAdapter = new SqlDataAdapter("Select [" + m_strValue + "] FROM "+ m_strDBTable+" Where ProjectUID =" + "'" + m_strFilter + "'", oConn);
m_objDs = new DataSet();
l_objAdapter.Fill(m_objDs);
}
return (true);
}
catch (Exception e)
{
m_strError = e.Message;
return (false);
}
因为目前,我将数据与 with line 一起使用:
string value = l_objDs.Tables[0].Rows[0]["ColumnName"].ToString();
但是因为我可以有很多值,所以它只返回一个值。所以知道我该怎么做吗?
谢谢。
【问题讨论】:
-
一个行字段中不能有多个值。如果要从其他行检索值,请使用不同的行索引。
-
您可以使用 l_objAdapter.Fill() 方法并继续添加每个查询的结果。只要您只创建一次DataSet。因此,您可以执行以下操作: if(m_objDs == null) m_objDs = new DataSet();那么所有的查询都会被附加到一个 DataSet 中。
-
您想要多行或只有一行数据具有匹配值?
标签: c# sql-server