我对C#Web开发(或与此有关的任何开发)非常陌生,但是我试图弄清楚如何将SQL查询的结果保存到变量中。我想我了解该过程,但是我在Web上发现的许多示例都使用SqlConnection语句。我的Visual Studio副本似乎没有该命令(请确保我在此处使用了错误的单词)。我在软件方面或知识方面无法完成任务吗?
预先感谢您的帮助。
深度
最佳答案
这取决于您要执行的操作:插入,更新,获取数据。这也取决于您是否要使用ORM库。我全靠我在下面复制的代码是如何使用Ado.Net(如您提到的SqlConnection)检索DataTable的示例:
您必须使用:
using System.Data;
using System.Data.SqlClient;
这是用于检索数据表的代码
private DataSet ExecuteDataset(string query)
{
var conn = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + Database + ";User Id=" + Username + ";Password=" + Password + ";");
DataSet ds;
try
{
conn.Open();
ds = new DataSet();
var da = new SqlDataAdapter(query, conn);
da.Fill(ds);
}
catch (Exception)
{
throw;
}
finally
{
conn.Dispose();
conn.Close();
}
return ds;
}
private DataSet ExecuteDataset(string query, SqlParameter[] parametros)
{
var conn = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + Database + ";User Id=" + Username + ";Password=" + Password + ";");
DataSet ds;
try
{
conn.Open();
SqlCommand command = conn.CreateCommand();
command.CommandText = query;
foreach (SqlParameter p in parametros)
{
command.Parameters.Add(p);
}
ds = new DataSet();
var da = new SqlDataAdapter(command);
da.Fill(ds);
}
catch (Exception)
{
throw;
}
finally
{
conn.Dispose();
conn.Close();
}
return ds;
}
这是用于运行查询的代码,该查询在使用和不使用参数的情况下均不会产生预期结果:
private void ExecuteNonQuery(string query)
{
var conn = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + Database + ";User Id=" + Username + ";Password=" + Password + ";");
try
{
conn.Open();
SqlCommand command = conn.CreateCommand();
command.CommandText = query;
command.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
conn.Dispose();
conn.Close();
}
}
private void ExecuteNonQuery(string query, SqlParameter[] parametros)
{
var conn = new SqlConnection("Data Source=" + Server + ";Initial Catalog=" + Database + ";User Id=" + Username + ";Password=" + Password + ";");
try
{
conn.Open();
SqlCommand command = conn.CreateCommand();
command.CommandText = query;
foreach (SqlParameter p in parametros)
{
command.Parameters.Add(p);
}
command.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
conn.Dispose();
conn.Close();
}
}
关于c# - VS2015 C#中的SqlConnection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41493175/