从C#运行SQL Server参数查询 [英] Run SQL Server Parameter Query From C#

查看:229
本文介绍了从C#运行SQL Server参数查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从C#运行sql server参数查询并返回数据集的正确方法是什么? 我尝试了以下语法 - 但似乎不是一个完整的数据集。

What is proper way to run a sql server parameter query from C# and return a dataset?  I have tried the below syntax - but does not appear to be a complete dataset that is returned.

private void CboBoxChangeEvent(object sender, EventArgs e)

        {

            DataSet ds;

            DataSet ds1 = new DataSet();

            txtcn.Visible = true;

            lblcn.Visible = true;



            if (cboNewOrOld.Text == "New")

            {                

                ds = dal.RunSQLServerStoredProcedure("_GETInfo1");

                AIN = ds.Tables[0];

            }

 



            if (cboNewOrOld.Text == "OLD")

            {

                SqlConnection sqlconn = new SqlConnection(StartupForm.ServerAddressToUse);

                SqlDataAdapter sda = new SqlDataAdapter();

                SqlCommand sqlcmd = new SqlCommand("_GETnfocn", sqlconn);

                sqlcmd.CommandType = CommandType.StoredProcedure;

                sqlcmd.Parameters.AddWithValue("@cn", txtcn.Text);

                sda.SelectCommand = sqlcmd;

                sda.Fill(ds1, "cam");

                dtArtInfoCampaign = ds1.Tables[0];

            }

        }



        private void cnInput(object sender, EventArgs e)

        {

            if (txtcn.Text != "")

            {

                dgvai.Visible = true;

                btnExportToExcel.Visible = true;

                btnSaveEdits.Visible = true;

                if (cboNewOrOld.Text == "New")

                {


                   System.Data.DataColumn newColumn = new System.Data.DataColumn("cn", typeof(System.String));

                   newColumn.DefaultValue = txtcn.Text;

                   AIN.Columns.Add(newColumn);


                   dgvai.DataSource = AIN;

                   dgvai.AutoResizeColumns();

                }

                if (cboNewOrOld.Text == "OLD")

                {

                    dgvai.DataSource = AIN;

                    dgvai.AutoResizeColumns();

                }

            }

        }

推荐答案

很高兴看到SP定义和dal.RunSQLServerStoredProcedure的代码。这很简单。请参阅以下演示并不关心它是基于Web的,因为桌面应用程序中的代码逻辑是相同的。

Well it would be good to see the SP definition and the code for dal.RunSQLServerStoredProcedure. It's really simple. See the following demo don't concern yourself that it's web based as the code logic is the same in desktop apps.

https://www.aspsnippets.com/Articles/Load-Fill -Populate-DataTable-from-Stored-Procedure-in-ASPNet-using-C-and-VBNet.aspx

https://www.aspsnippets.com/Articles/Load-Fill-Populate-DataTable-from-Stored-Procedure-in-ASPNet-using-C-and-VBNet.aspx

或者这是类似的代码路径但是有一个DataTable(如果你是对多个表不感兴趣)

or this which is similar code path but does a DataTable (if you are not interested in more than one table)

DataTable table = new DataTable();
using(var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString))
   using(var cmd = new SqlCommand("usp_GetABCD", con))
      using(var da = new SqlDataAdapter(cmd))
      {
         cmd.CommandType = CommandType.StoredProcedure;
         da.Fill(table);
      }
   }
}


这篇关于从C#运行SQL Server参数查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆