zoukankan      html  css  js  c++  java
  • 【WPF学习笔记】之如何设置下拉框读取SqlServer数据库的值:动画系列之(一)

    先前条件:设置好数据库,需要三个文件CommandInfo.cs、DbHelperSQL.cs、myHelper.cs,需要修改命名空间,参照之前随笔http://www.cnblogs.com/Owen-ET/p/5999654.html

    添加一个表的类User_test对应数据库的表,如下图:

    User_test类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    using System.Data;
    
    
    namespace User.sqlHelper
    {
        [Serializable]
        class User_test
        {
            public User_test()
            {
    
            }
    
            #region
            private int _userID;
            private string _userName;
            private int _userGrade;
            private string _userPassword;
    
            public int UserID
            {
                set { _userID = value; }
                get { return _userID;  }
            }
    
            public string UserName
            {
                set { _userName = value;}
                get { return _userName; }
            }
    
            public int UserGrade
            {
                set { _userGrade = value; }
                get { return _userGrade;  }
            }
    
            public string UserPassword
            {
                set { _userPassword = value;}
                get { return _userPassword; }
            }
    
            #endregion
    
            #region
    
            public User_test(int userID)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select UserID,UserName,UserGrade");
                strSql.Append(" FROM [User] ");
                strSql.Append(" where UserID=@userID");
    
                SqlParameter[] parameter = { 
                        new SqlParameter("@userID",SqlDbType.Int,4)};
                parameter[0].Value = userID;
    
                DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter);
                if( ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["UserID"] != null) { this.UserID = int.Parse(ds.Tables[0].Rows[0]["UserID"].ToString().Trim()); }
                    if (ds.Tables[0].Rows[0]["UserName"] != null) { this.UserName = ds.Tables[0].Rows[0]["UserName"].ToString().Trim(); }
                    if (ds.Tables[0].Rows[0]["UserGrade"] != null) { this.UserGrade = int.Parse(ds.Tables[0].Rows[0]["UserGrade"].ToString().Trim()); }
                    if (ds.Tables[0].Rows[0]["UserPassword"] != null) { this.UserPassword = ds.Tables[0].Rows[0]["UserPassword"].ToString().Trim(); }
                }
            }
    
            //根据id得到名字
            public string getUserName(int userid)
            {
                string name = "";
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select UserName ");
                strSql.Append(" FROM [User] ");
                strSql.Append("where UserID=@userID");
                SqlParameter[] parameter = { 
                        new SqlParameter("@userID",SqlDbType.Int,4)};
                parameter[0].Value = userid;
                DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter);
    
                if(ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["UserName"] != null) { name = ds.Tables[0].Rows[0]["UserName"].ToString().Trim(); }
                }
                return name;
            }
    
            //根据名字得到级别
            public int getUserGrade(string username)
            {
                int grade = 1;
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select UserGrade ");
                strSql.Append(" FROM [User] ");
                strSql.Append(" where UserName=@userName");
                SqlParameter[] parameter = { 
                        new SqlParameter("@userName", SqlDbType.VarChar,50)};
                parameter[0].Value = username;
                DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter);
    
                if(ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["UserGrade"] != null) { grade = int.Parse(ds.Tables[0].Rows[0]["UserGrade"].ToString().Trim()); }
                }
                return grade;
            }
    
            /// <summary>
            /// 增加一条数据
            /// </summary>
            /// 
            public int Add(string username)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("insert into [User] (");
                strSql.Append("UserName)");
                strSql.Append(" values(");
                strSql.Append("@userName)");
                SqlParameter[] parameter = { 
                        new SqlParameter("@userName",SqlDbType.VarChar,50)};
                parameter[0].Value = username;
    
                object obj = DbHelperSQL.Query(strSql.ToString(), parameter);
                if (obj == null)
                {
                    return 0;
                }
                else 
                {
                    return Convert.ToInt32(obj);
                }
            }
    
            /// <summary>
            /// 删除一条数据
            /// </summary>
            public bool Delete(int userid)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("delete from [User] ");
                strSql.Append(" where UserID=" + UserID.ToString());
    
                int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
                if (rows > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
    
    
            /// <summary>
            /// 获得数据列表
            /// </summary>
            /// 
            public DataSet GetList()
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select * ");
                strSql.Append("FROM [User]");
                return DbHelperSQL.Query(strSql.ToString());
            }
    
            #endregion
        }
    }
    View Code

    对应数据库:

    然后在xaml中设置下拉框:

    <UserControl x:Class="User.uc_login"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                 mc:Ignorable="d" 
                 Loaded="UserControl_Loaded"
                 d:DesignHeight="1080" d:DesignWidth="1920">
        <Canvas x:Name="c_login" Width="1920" Height="1080" Background="Azure">
            <Canvas x:Name="c_log" Width="600" Height="600" Canvas.Left="680" Canvas.Top="100" Background="AntiqueWhite">
                <Label Content="用户:" Width="122" Height="80" FontSize="35" Canvas.Left="100" Canvas.Top="105" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
                <ComboBox x:Name="cb_uploader" Width="200" Height="80" Canvas.Left="268" Canvas.Top="105" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="35"/>
                <Label Content="密码:" Width="122" Height="80" FontSize="35" Canvas.Left="100" Canvas.Top="230" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
                <TextBox x:Name="tb_password" Width="200" Height="80" Canvas.Left="268" Canvas.Top="230" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="35"/>
                <Button Content="登录" Width="120" Height="60" FontSize="32" Canvas.Left="100" Canvas.Top="360" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Click="btn_login_Click"/>
                <!--<Button Content="修改密码" Width="165" Height="60" FontSize="32" Canvas.Left="305" Canvas.Top="460" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />-->
            </Canvas>
        </Canvas>
    </UserControl>

    注:上面代码xaml是用户控件代码。

    最后,在后台代码设置:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using User.sqlHelper;
    using System.Data;
    
    namespace User
    {
        /// <summary>
        /// uc_login.xaml 的交互逻辑
        /// </summary>
        public partial class uc_login : UserControl
        {
            public uc_login()
            {
                InitializeComponent();
            }
    
            private void UserControl_Loaded(object sender, RoutedEventArgs e)
            {
                //获取下拉框用户名字
                User_test _u = new User_test();
                DataSet _ds = _u.GetList();
                if(_ds != null)
                {
                    DataTable _dt = _ds.Tables[0];
                    for (int i = 0; i < _dt.Rows.Count; i++)
                    {
                        string UserName = _dt.Rows[i]["UserName"].ToString().Trim();
                        ComboBoxItem cbitem = new ComboBoxItem();
                        cb_uploader.Items.Add(cbitem);
                        cbitem.Content = UserName;
                    }
                }
            }
    
            //登录按钮
            private void btn_login_Click(object sender, RoutedEventArgs e)
            {
                //判断下拉框不为空
                if (this.cb_uploader != null)
                {
                    //判断密码不为空
                    if (this.tb_password != null)
                    {
                        string uploader = cb_uploader.Items.
                    }
                    //密码为空
                    else
                    { 
                        
                    }
                }
                //下拉框为空
                else
                { 
                    
                }
            }
        }
    }

    结果:

  • 相关阅读:
    第三章 系统总线
    人工神经网络及其应用
    专家系统
    遗传算法
    搜索算法策略
    js判断有无属性及新添属性
    vue 文件插件 Vetur 设置说明官网
    vue 获得当前无素并做相应处理
    VUE style 绑定
    vue入门基础知识点测试
  • 原文地址:https://www.cnblogs.com/Owen-ET/p/6019672.html
Copyright © 2011-2022 走看看