WPF SQL中用逻辑外键存储性别,再读取赋值给COMBOBOX时,设置COMBOBOX默认值的问题

问题描述

学员表中的性别存储在另一张表里,学员表中的性别字段存储的是GUID类型的,是性别表中的GUID字段。XAML:<ComboBoxName="cbo_StuGender"SelectedValue="{BindingStuGenderId}"DisplayMemberPath="CategoryName"SelectedValuePath="CategoryId"Width="116"Grid.Row="3"Grid.Column="1"Margin="3"></ComboBox>

XAML.CS:privatevoidWindow_Loaded(objectsender,RoutedEventArgse){StuDALstudal=newStuDAL();cbo_StuGender.ItemsSource=studal.GetByCategory("学员性别");}

DAL:///<summary>///获取类别列表中的数据///</summary>///<paramname="category"></param>///<returns></returns>publicStudentInfo[]GetByCategory(stringcategory){DataTabletable=SqlHelper.ExecuteDataTable("selectId,NamefromStuCategorywhereCategory=@Category",newSqlParameter("@Category",category));StudentInfo[]SiItems=newStudentInfo[table.Rows.Count];for(inti=0;i<table.Rows.Count;i++){DataRowrow=table.Rows[i];StudentInfosi=newStudentInfo();si.CategoryId=(Guid)row["Id"];si.CategoryName=(string)row["Name"];SiItems[i]=si;}returnSiItems;}

SQLHelper:publicstaticDataTableExecuteDataTable(stringsql,paramsSqlParameter[]parameters){using(SqlConnectionconn=newSqlConnection(ConnectionString)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmd.CommandText=sql;cmd.Parameters.AddRange(parameters);DataSetdataset=newDataSet();SqlDataAdapteradapter=newSqlDataAdapter(cmd);adapter.Fill(dataset);returndataset.Tables[0];}}}

stuModel:///<summary>///类别列表ID///</summary>publicGuidCategoryId{get;set;}///<summary>///类别列表名称///</summary>publicstringCategoryName{get;set;}///<summary>///学员性别///</summary>privateGuidstugenderid;publicGuidStuGenderId{get;set;}

性别表:学员表:UI:现在的问题在于,在XAML中设置了ComboBoxName="cbo_StuGender"SelectedValue="{BindingStuGenderId}"DisplayMemberPath="CategoryName"SelectedValuePath="CategoryId",UI启动时,COMBOBOX默认值就没法设置了,每次打开都是什么都没选。combobox所有设置默认选中的属性我都试了,都不行。求各位老师指点。

时间: 2024-09-15 07:10:00

WPF SQL中用逻辑外键存储性别,再读取赋值给COMBOBOX时,设置COMBOBOX默认值的问题的相关文章

SQL FOREIGN KEY 外键实例教程

SQL FOREIGN KEY 外键实例教程 外国的SQL关键的制约因素 外键在一个表点,主键在另一就座. 让我们说明了外国钥匙与一个例子.看看以下两个表格: 在"人"表:  LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger order 表. O_Id OrderN

讲解SQL与Oracle外键约束中的级联删除

最近软件系统中要删除一条记录,就要关联到同时删除好多张表,它们之间还存 在着约束关系.所以考虑到在创建表时加上约束关系,详细内容如下: SQL的外键约束可以实现级联删除与级联更新; ORACLE则只充许级联删除. SQL级联删除与级联更新使用格式: CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20)) CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDAT

sql server删除外键约束

  x先找出约束名字 然后删除它 我给个例子 --测试环境 --主表 create table test1(id int primary key not null,value int) insert test1 select 1,2 go --从表 create table test2(id int references test1(id),value int) go --第一步:找出test2表上的外键约束名字 --2000 exec sp_helpconstraint 'test2' --可

hibernateTemplate多表外键存储

问题描述 DeptInfodept=(DeptInfo)hibernateTemplate.find("fromDeptInfowhereid=?",1).get(0);System.out.println(dept.getDeptName());MajorInfomajorInfo=newMajorInfo();majorInfo.setDeptId(dept);majorInfo.setMajorName("信息管理技术");majorInfo.setSortI

MySQL外键使用详解_Mysql

最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键. (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束 (2)外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作: (3)外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据. 使两张表形成关联,外键只能引用外表中的列的值! (4)建立外键的前提: 两个表必须是InnoDB表类型. 使用在外键关系的域必须为索

mysql建立外键_php技巧

建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键). 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引用外键关键字: references <外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 例如: outTa

如何区分SQL数据库中的主键与外键_MsSql

一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 用户表(用户名.密码.登录级别) 其中用户名是唯一的, 用户名就是一个主键 上机记录表(卡号,学号,姓名.序列号) 上机记录表中单一一个属性无法唯一标识一条记录,学号和姓名的组合才可以唯一标识一条记录,所以 学号和姓名的属性组是一个主键 上机记录表中的序列号不是成绩表的

如何区分SQL数据库中的主键与外键

一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 用户表(用户名.密码.登录级别) 其中用户名是唯一的, 用户名就是一个主键 上机记录表(卡号,学号,姓名.序列号) 上机记录表中单一一个属性无法唯一标识一条记录,学号和姓名的组合才可以唯一标识一条记录,所以 学号和姓名的属性组是一个主键 上机记录表中的序列号不是成绩表的

MS SQL巡检系列&amp;mdash;&amp;mdash;检查外键字段是否缺少索引

前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多.写这个系列只是一个分享,自己的初衷是一个知识梳理.总结提炼过程,有些知识和脚本也不是原创,文章很多地方融入了自己的一些想法和见解的,不足和肤浅之处肯定也非常多,抛砖引玉,也希望大家提意见和建议.补充,指正其中的不足之处.Stay Hungry