C# 绑定下拉框

在数据库中查询出你要匹配的信息

    IF(@type = 'Window_Loaded_Update')

    BEGIN

         SELECT  staff_id, RTRIM(staff_name) AS name

         FROM      t_staff

         WHERE staff_id  IN (SELECT t_operators.staff_id FROM t_operators)

    END

在服务端(DAL)中建立数据库连接,

Sqlserver数据库连接方式有多种,这里只介绍最常用的通过SqlConnection和Sqlserver数据库用户名和密码验证来进行操作数据库。

这里data source 是指数据库地址和端口号,需要注意的是地址和端口号之间是用","进行分隔的;initial catalog 是数据库名字 ;user id和pwd分别指用户名和密码。

数据库连接:

public string strConnect = @"Data Source=DESKTOP-R9LRKRS\SQL;Initial Catalog=TTS ;User ID=sa;Password=123";()

 

查询数据:

public DataTable QueryDataTable(String sql, SqlParameter[] param)

        {

            DataTable dt = new DataTable();

            //数据库建立连接

            using (SqlConnection conn = new SqlConnection(strConnect))

            {

                conn.Open();

                SqlDataAdapter da = new SqlDataAdapter(sql, conn);

                da.SelectCommand.CommandType = CommandType.StoredProcedure;

                da.SelectCommand.Parameters.AddRange(param);

                //数据库查询

                da.Fill(dt);

                conn.Close();

            }

            return dt;

        }

 

在服务端(BLL)中获取客户端中的数据

实例化数据层,与DAL进行连接。

[OperationContract]:操作契约,每写一个方法都要写一个操作契约,

实例化个对象数组用来定义传递参数

获取执行的数据库中存储过程名称赋值给对象数组

声明个对象ds获取到数据然后返回ds。

//实例化数据层

DAL.DALMethod myDALMethod = new DAL.DALMethod();

[OperationContract]

        public DataSet Window_Loaded()

        {

            //1.0实例化对象数组(序列化参数)

            SqlParameter[] mySqlParameters = {

                //定义传递参数,以及传递参数的类型

                new SqlParameter("@type",SqlDbType.NChar),

            };

            mySqlParameters[0].Value = "Window_Loaded_Update";//获取执行的存储过程名称          

            DataSet ds = myDALMethod.QueryDataSet("UC_StaffAccountManage", mySqlParameters);

            // 返回值

            return ds;

        }

客户端

实例化服务端(BLL)来获取该绑定下拉框数据的方法:

BLL.UC_StaffAccountManage.UC_StaffAccountManageClient myClient = new

BLL.UC_StaffAccountManage.UC_StaffAccountManageClient();

在客户端中绑定你要宣示的下拉框,找到你界面中下拉框的name值进行绑定(见下面代码)

private void Window_Loaded(object sender, RoutedEventArgs e)

        {

            #region 绑定下拉框

            DataTable dt = myClient.Window_Loaded_USelectStaff().Tables[0];//获取数据

            cbo_Name.ItemsSource = dt.DefaultView;//绑定数据源

            cbo_Name.SelectedValuePath = "staff_id";//id选中值

            cbo_Name.DisplayMemberPath = "name";//name显示值

            #endregion

        }

你可能感兴趣的:(C# 绑定下拉框)