C# 从数据库中删除,插入,修改 索引选中条目
一。删除
1.
while (usrListView.SelectedIndex != -)
{
var currentSelectIndex = usrListView.SelectedIndex;
var item = usrView[currentSelectIndex];
using (StockManageDataContext smDataContext = new StockManageDataContext())
{
try
{
smDataContext.ExecuteCommand("DELETE FROM USERS WHERE ID={0}", item.ID);
usrView.RemoveAt(currentSelectIndex);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
2.
private void MenuItemDelete_Click(object sender, RoutedEventArgs e)
{ if (AddressList.SelectedIndex == -)
{
MessageBox.Show("请选择一项!");
return;
}
if (MessageBox.Show("确认删除所选定的供应商信息?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
while (AddressList.SelectedIndex != -){
var currentSelectIndex = AddressList.SelectedIndex;
SHDZ selectedAddress = (SHDZ)AddressList.SelectedValue;
using (WJKCDataContext wjkc = new WJKCDataContext())
{
try
{
wjkc.ExecuteCommand("DELETE FROM SHDZ WHERE CODE={0}", selectedAddress.CODE);
addressView.RemoveAt(currentSelectIndex);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
return;
}
}
}
}
3.
var item = smDataContext.Suppliers.SingleOrDefault(c => c.ID == (int)hl.Tag);
if (item != null)
{
try2016-04-04
{
smDataContext.Suppliers.DeleteOnSubmit(item);
smDataContext.SubmitChanges();
MessageBox.Show("删除成功!");
GetSupplierData();
}
catch (Exception ex)
{
MessageBox.Show("删除时发生错误!错误信息:"+ex.Message);
}
}
smDataContext.Dispose();
}
二。插入
1.
try
{
using (StockManageDataContext smDataContext = new StockManageDataContext())
{
smDataContext.Users.InsertOnSubmit(new User { UserName = usrName.Text, Password = pwd, Permission = permissionLevel });
smDataContext.SubmitChanges();
MessageBox.Show("添加用户改成功!");
usrView.Clear();
GetData();
usrName.IsEnabled = false;
PasswordBox1.IsEnabled = false;
PasswordBox2.IsEnabled = false;
PermimissionLevels.IsEnabled = false;
button1.IsEnabled = false;
usrName.Text = string.Empty;
PasswordBox1.Password = string.Empty;
PasswordBox2.Password = string.Empty;
PermimissionLevels.SelectedIndex = ;
}
}
2.
try
{
wjkc.ExecuteCommand(" insert into SHDZ (CODE,DZ,DETAIL,ISTY) values({0},{1},{2},{3})",
Code, txtAName.Text.Trim(), txtADetails.Text.Trim(), address.ISTY);
lableMsg.Content = "信息添加成功!";
lableMsg.Foreground = new SolidColorBrush(Color.FromRgb(, , ));
ClearControls();
winParent.Close();
// AddressInfoWindow win = new AddressInfoWindow();
// win.Show(); }
三 编辑
1.
确保 编辑的对象是所选对象,所以传入参数要注意,并且编辑时要先填充控件。
try
{ wjkc.ExecuteCommand("update SHDZ set DETAIL={0},DZ={1},ISTY={2} where CODE={3};"
, txtADetails.Text.Trim(), txtAName.Text.Trim(),address.ISTY,address.CODE);
lblMsg.Content = "信息修改成功!";
lblMsg.Foreground = new SolidColorBrush(Color.FromRgb(, , ));
// this.Window_Closed();
this.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
2,。
try
{
using (StockManageDataContext smDataContext = new StockManageDataContext())
{
string usrname = (this.Parent as LoginWindow).User;
var s = smDataContext.Users.Single(c => c.UserName == usrname);
s.Password = pwd;
smDataContext.SubmitChanges();
MessageBox.Show("密码添加成功!");
this.NavigationService.Navigate(new Uri("LoginPage.xaml", UriKind.Relative));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
label_warning.Content = "提示:密码修改失败!";
}
四,根据Index的值 来判断要编辑item还是要新增item。
此步是获得index,前提是父窗口或者子窗口已经传入一个带参。
public int Index { get; set; }
public SupplierAM(int index)
{
Index = index;
InitializeComponent();
if (Index > )
{
header.Content = "修改供应商信息";
StockManageDataContext smDataContext = new StockManageDataContext();
var item = smDataContext.Suppliers.SingleOrDefault(c => c.ID == Index);
textBox_name.Text = item.PsName;
textBox_contacter.Text = item.PsContacter;
textBox_tel.Text = item.PsTel;
textBox_fax.Text = item.PsFax;
}
else
header.Content = "添加供应商信息";
}
此步是提交按钮的事件。
private void button_submit_Click(object sender, RoutedEventArgs e)
{
StockManageDataContext smDataContext = new StockManageDataContext();
if (Index > )
{
var item = smDataContext.Suppliers.SingleOrDefault(c => c.ID == Index);
item.PsName = textBox_name.Text;
item.PsContacter = textBox_contacter.Text;
item.PsTel = textBox_tel.Text;
item.PsFax = textBox_fax.Text;
}
else
{
Supplier item = new Supplier();
item.PsName = textBox_name.Text;
item.PsContacter = textBox_contacter.Text;
item.PsTel = textBox_tel.Text;
item.PsFax = textBox_fax.Text;
smDataContext.Suppliers.InsertOnSubmit(item);
}
try
{
smDataContext.SubmitChanges();
MessageBox.Show("操作成功!");
DialogResult = true;
Close();
}
catch (Exception ex)
{
MessageBox.Show("发生错误!错误信息:" + ex.Message);
}
finally
{
smDataContext.Dispose();
}
}
C# 从数据库中删除,插入,修改 索引选中条目的更多相关文章
- MySQL_(Java)使用JDBC向数据库中删除(delete)数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...
- OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET
由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:很碍眼是不是?于是我打算手动从数 ...
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较
数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...
- MyBatis向数据库中批量插入数据
Foreach标签 foreach: collection:指定要遍历的集合; 表示传入过来的参数的数据类型.该参数为必选.要做 foreach 的对象,作为入参时,List 对象默认用 list 代 ...
- C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据
#region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...
- Ueditor编辑旧文章,从数据库中取出要修改的内容
Ueditor编辑旧文章,从数据库中取出要修改的内容然后放置到编辑器中: <script type="text/plain" id="editor"> ...
- sql server数据库中删除的过程
这是在vb中的一个对数据库中数据的删除过程,点击按钮后程序第一句则是将你要删除的那条记录的位置作为书签保存到myBookmark这个变量里面,然后选择确定删除的话,首先执行if语句下的第一句 mrc. ...
- SQL Server2008数据库中删除用户,提示数据库主体在该数据库中拥有 架构,无法删除
一个数据库,运行在SQL Server 2008下,数据库用户无法删除,在删除时提示“数据库主体在该数据库中拥有架构,无法删除”.原因很简单,就是由于此用户在数据库中拥有某些架构的所有权,将相关架构的 ...
- MySQL 数据库中删除重复数据的方法
演示数据,仅供参考 查询表结构: mysql> desc test; +-------+------------------+------+-----+---------+----------- ...
随机推荐
- linux下emacs配置文件
1:安装.在ubuntu下使用命令 sudo apt-get install emacs,即可,我使用的是ubuntu的10.04的版本,在里面使用了据说是163的2个源. 1.1:如何更新快速的源, ...
- CentOS6.5安装MySql5.5
最近在CentOS上安装MySql,本来以为yum安装会很简单,但是却花了自己不少时间,所以决定和大家分享下. 首先,安装MySql源! 下载地址:http://dev.mysql.com/downl ...
- margin和padding那点事及常见浏览器margin padding相关Bug
用Margin还是用Padding 何时应当使用margin: 需要在border外侧添加空白时. 空白处不需要背景(色)时. 上下相连的两个盒子之间的空白,需要相互抵消时.如15px + 20px的 ...
- Android Bander设计与实现 - 设计篇
转自:http://blog.csdn.net/universus/article/details/6211589#t7 Binder Android IPC Linux 内核 驱动 摘要 Binde ...
- tty相关内容
参考文章: http://blog.csdn.net/goodluckwhh/article/details/13368279
- javascript栈的建立样码
早上参加小孩的一年级入学前,看看相关的东东啦.. function Stack() { var items = []; this.push = function(element){ items.pus ...
- VS2010编写动态链接库DLL及单元测试用例,调用DLL测试正确性
转自:http://blog.csdn.net/testcs_dn/article/details/27237509 本文将创建一个简单的动态链接库,并编写一个控制台应用程序使用该动态链接库,该动态链 ...
- IE8上传文件时文件本地路径变成"C:\fakepath\"的问题
转自:http://yunzhu.iteye.com/blog/1116893 在使用<input id="file_upl" type="file" / ...
- HDU 1796 How many integers can you find 容斥入门
How many integers can you find Problem Description Now you get a number N, and a M-integers set, y ...
- SSH 框架学习之初识Java中的Action、Dao、Service、Model-收藏
SSH 框架学习之初识Java中的Action.Dao.Service.Model-----------------------------学到就要查,自己动手动脑!!! 基础知识目前不够,有感性 ...