先前条件:设置好数据库,需要三个文件CommandInfo.cs、DbHelperSQL.cs、myHelper.cs,需要修改命名空间,参照之前随笔http://www.cnblogs.com/Owen-ET/p/5999654.html
添加一个表的类User_test对应数据库的表,如下图:
User_test类:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 } }
对应数据库:
然后在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 { } } } }
结果: