我使用新的.NET Core库在ASP.NET 5中创建了一个新的Web服务,到目前为止,我只遇到了使用DataSet和DataTable的问题。
根据this网站,他们此时并未包含在内,这很好,但我现在还不知道我有什么替代方案,所以我只是在寻找一些指导。
我有以下代码: public string Get(string p_sUserId,string p_sUserPassword,int p_iCustId) { 选择qrySelect = new选择();
using (SqlConnection conn = new SqlConnection(Startup.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(qrySelect.getData(), conn))
{
cmd.Parameters.AddWithValue("@Id", sTestId);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
using (DataSet ds = new DataSet())
{
// foo
// bar
}
}
}
}
return "value";
}
我应该如何处理从查询返回的数据?我需要使用从查询中获取的上述数据构建并返回一个字符串。任何帮助和指导将不胜感激。
答案 0 :(得分:0)
我相信SqlDataReader应该有用。
string sql = "SELECT * FROM Table";
using (SqlConnection con = new SqlConnection(Startup.ConnectionString)) {
con.Open();
using (SqlCommand command = new SqlCommand(sql, con)) {
using (IDataReader dr = command.ExecuteReader()) {
while (dr.Read()) {
//process data
}
}
}
}
答案 1 :(得分:0)
现在使用.NET Standard 2.0支持DataTable和SqlDBAdapter。升级到VS2017 Preview,添加System.Data.Common和System.Data.SqlClient nugets,下面的代码应该可以工作。更多细节在这里的博客文章 - > https://blogs.msdn.microsoft.com/devfish/2017/05/15/exploring-datatable-and-sqldbadapter-in-asp-net-core-2-0/。 GitHub repo here - > https://github.com/jhealy/aspdotnetcore/tree/master/SqlClientPlay20。
public static DataTable ExecuteDataTableSqlDA(SqlConnection conn, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
System.Data.DataTable dt = new DataTable();
System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);
da.Fill(dt);
return dt;
}