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; +-------+------------------+------+-----+---------+----------- ...
随机推荐
- JS控制DIV隐藏显示
转载自:http://blog.sina.com.cn/s/blog_6c3a67be0100ldbe.html JS控制DIV隐藏显示 一,需求描述: 现在有3个DIV块,3个超链接,需要点击一个链 ...
- windows电脑变成wifi热点命令
netsh wlan set hostednetwork mode=allow ssid=WIFI_NAME key="abcdefgh" netsh wlan start hos ...
- extjs插件开发上传下载文件简单案例
前台,extjs,框架,mybatis,spring,springMVC,简单的文件上传下载案例. 必要的jar包,commons-fileupload-1.3.1.jar,commons-io-2. ...
- javascript ASCII和Hex互转
<script> var symbols = " !\"#$%&'()*+,-./0123456789:;<=>?@"; var loAZ ...
- sysctl命令详解
个人一般sysctl -p 或sysctl -a比较多使用 sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎片去除以及源路由检 ...
- js 在myeclipse中报错
转myeclipse中的js文件报错 整理一下,希望帮到 遇到此问题的哥们.姐们. 方法一:myeclipse9 很特殊 和 myeclipse10 不一样,所以myeclipse9 不能使用该方 ...
- 【转】什麼是 Team Explorer Everywhere 2010 ?TFS 專用的 Eclipse 整合套件的安裝與設定
前言- 大家都知道 版本管控是一件很重要的事情!而且也知道分別有 VSS , SVN , TFS 等- 多數人都會覺得, .NET 的開發工具要用 VSS . TFS .SVN 而 Java 的 Ec ...
- UML从需求到实现---类图(2)
上节写到了UML中的类图:UML从需求到实现---类图(1) 写完以后总觉得写的不够详细.里面很多细节没有说到.一篇文章就把强大的面向对象的类说完.当然是不可能的.这次我再补充一些关于UML中类图和类 ...
- SQL脚本--有关压缩数据库日志
/*--压缩数据库的通用存储过程 压缩日志及数据库文件大小 因为要对数据库进行分离处理 所以存储过程不能创建在被压缩的数据库中 --邹建 2004.03(引用请保留此信息)--*/ /*--调用示例 ...
- 【spring bean】bean的配置和创建方式
---恢复内容开始--- 项目结构如下: lib如下: 1.首先建立SayHell.java接口 package com.it.sxd; public interface SayHell { publ ...