我对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/

10-13 08:04