先前条件:设置好数据库,需要三个文件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,)};
parameter[].Value = userID; DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter);
if( ds.Tables[].Rows.Count > )
{
if (ds.Tables[].Rows[]["UserID"] != null) { this.UserID = int.Parse(ds.Tables[].Rows[]["UserID"].ToString().Trim()); }
if (ds.Tables[].Rows[]["UserName"] != null) { this.UserName = ds.Tables[].Rows[]["UserName"].ToString().Trim(); }
if (ds.Tables[].Rows[]["UserGrade"] != null) { this.UserGrade = int.Parse(ds.Tables[].Rows[]["UserGrade"].ToString().Trim()); }
if (ds.Tables[].Rows[]["UserPassword"] != null) { this.UserPassword = ds.Tables[].Rows[]["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,)};
parameter[].Value = userid;
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter); if(ds.Tables[].Rows.Count > )
{
if (ds.Tables[].Rows[]["UserName"] != null) { name = ds.Tables[].Rows[]["UserName"].ToString().Trim(); }
}
return name;
} //根据名字得到级别
public int getUserGrade(string username)
{
int grade = ;
StringBuilder strSql = new StringBuilder();
strSql.Append("select UserGrade ");
strSql.Append(" FROM [User] ");
strSql.Append(" where UserName=@userName");
SqlParameter[] parameter = {
new SqlParameter("@userName", SqlDbType.VarChar,)};
parameter[].Value = username;
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameter); if(ds.Tables[].Rows.Count > )
{
if (ds.Tables[].Rows[]["UserGrade"] != null) { grade = int.Parse(ds.Tables[].Rows[]["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,)};
parameter[].Value = username; object obj = DbHelperSQL.Query(strSql.ToString(), parameter);
if (obj == null)
{
return ;
}
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 > )
{
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[];
for (int i = ; 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
{ }
}
}
}

结果:

【WPF学习笔记】之如何设置下拉框读取SqlServer数据库的值:动画系列之(一)的更多相关文章

  1. JS学习笔记 - fgm练习 - 输入法下拉框 三元表达式

    <script> window.onload = function() { var oBtn = document.getElementsByTagName('input')[0]; va ...

  2. Jquery动态设置下拉框selected --(2018 08/12-08/26周总结)

    1.Jquery动态根据内容设置下拉框selected 需求就是根据下拉框的值动态的设置为selected,本以为很简单,网上一大推的方法,挨着尝试了之后却发现没有一个是有用的.网上的做法如下: &l ...

  3. js 设置下拉框的默认值

    设置下拉框的默认值,直接在option中增加selected就可以了.但是现在要使用JS来设置它的默认值,代码如下: <select name="aaa" id=" ...

  4. jquery 根据后台传过来的值动态设置下拉框、单选框选中

    更多内容推荐微信公众号,欢迎关注: jquery  根据后台传过来的值动态设置下拉框.单选框选中 $(function(){ var sex=$("#sex").val(); va ...

  5. java操作poi生成excel.xlsx(设置下拉框)下载本地和前端下载

    需求:导入excel表格,如果excel有错误,将错误的地方标红,在把数据以excel的形式写出,供用户下载解决方案:1.以实体类的方式接收excel并解析(创建两个集合一个接收正常的数据一个接收错误 ...

  6. jquery设置下拉框selected不起作用

    在js中设置下拉框被选中: 最初写法: //移出selected $("#selected option").removeAttr("selected"); / ...

  7. form表单传递下拉框的Value和Text值,不适用Jquery传递

    同时获取下拉框的Value和Text值的解决办法:添加一个<input type="text" >文本框,用户选中一项后就将该项的value值给他 然后接受页面获取该文 ...

  8. JavaScript获取select下拉框中的第一个值

    JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  9. jq select change下拉框选项变化判断选中值,添加(attr)或移除(removeAttr)一个或多个属性

    select change下拉框选项变化判断选中值,添加(attr)或移除(removeAttr)一个或多个属性 $("#IsRecommend").change(function ...

随机推荐

  1. 【源码】List<T>泛型绑定repeater,以及repeater的交替绑定

    原文发布时间为:2009-10-28 -- 来源于本人的百度文章 [由搬家工具导入] 后台: using System;using System.Collections.Generic; public ...

  2. case when then else 详解

    原文发布时间为:2008-10-15 -- 来源于本人的百度文章 [由搬家工具导入] sql语句判断方法之一 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE ...

  3. 从无序序列中求这个序列排序后邻点间最大差值的O(n)算法

    标题可能比较绕口,简单点说就是给你一个无序数列A={a1,a2,a3……an},如果你把这个序列排序后变成序列B,求序列B中相邻两个元素之间相差数值的最大值. 注意:序列A的元素的大小在[1,2^31 ...

  4. luogu P3800 Power收集

    题目背景 据说在红雾异变时,博丽灵梦单身前往红魔馆,用十分强硬的手段将事件解决了. 然而当时灵梦在Power达到MAX之前,不具有“上线收点”的能力,所以她想要知道她能收集多少P点,然而这个问题她答不 ...

  5. ReentrantReadWriteLock读写锁

    概述 ​ ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而ReentrantReadWrit ...

  6. JDBC-oracle(登陆)

    题目: 第一步:创建用户表,并插入数据(插入后记得commit) create table users ( name ), password ) ); '); '); 第二步:编写登陆界面(index ...

  7. http重定向https

    server { listen 80; server_name localhost; return 301 https://$host$request_uri; } server { listen 4 ...

  8. php正则表达式取子字符串及替换

    最近在学习如何用php编写cms,想把文章中的第一个图片提取出来当做缩略图显示到前面,想到的方法就是把文章内容作为一个大字符串,然后用正则表达式找出匹配出第一次出现<img src=" ...

  9. 清空catalina.out报错Permission denied

    今天在清空catalina.out的时候报错 [yangkun@sg logs]$ sudo echo '' > catalina.out -bash: catalina.out: Permis ...

  10. 2017.2.20 activiti实战--第一章--认识Activiti

    学习资料:<Activiti实战> 第一章 认识Activiti 内容概览:讲解activiti的特点.接口概览.架构等基本信息. 1.3 Activiti的特点 1.使用mybatis ...