一。删除

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# 从数据库中删除,插入,修改 索引选中条目的更多相关文章

  1. MySQL_(Java)使用JDBC向数据库中删除(delete)数据

    MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...

  2. OpenStack手动从数据库中删除实例 - ugyn109的专栏 - 博客频道 - CSDN.NET

    由于某种原因我将OpenStack的一个计算节点移除了,但移除前并没有删除在其上运行的实例,后来想通过dash删除这些实例,于是N天过去了,我的dash还显示如下内容:很碍眼是不是?于是我打算手动从数 ...

  3. 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较

    数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...

  4. MyBatis向数据库中批量插入数据

    Foreach标签 foreach: collection:指定要遍历的集合; 表示传入过来的参数的数据类型.该参数为必选.要做 foreach 的对象,作为入参时,List 对象默认用 list 代 ...

  5. C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

    #region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...

  6. Ueditor编辑旧文章,从数据库中取出要修改的内容

    Ueditor编辑旧文章,从数据库中取出要修改的内容然后放置到编辑器中: <script type="text/plain" id="editor"> ...

  7. sql server数据库中删除的过程

    这是在vb中的一个对数据库中数据的删除过程,点击按钮后程序第一句则是将你要删除的那条记录的位置作为书签保存到myBookmark这个变量里面,然后选择确定删除的话,首先执行if语句下的第一句 mrc. ...

  8. SQL Server2008数据库中删除用户,提示数据库主体在该数据库中拥有 架构,无法删除

    一个数据库,运行在SQL Server 2008下,数据库用户无法删除,在删除时提示“数据库主体在该数据库中拥有架构,无法删除”.原因很简单,就是由于此用户在数据库中拥有某些架构的所有权,将相关架构的 ...

  9. MySQL 数据库中删除重复数据的方法

    演示数据,仅供参考 查询表结构: mysql> desc test; +-------+------------------+------+-----+---------+----------- ...

随机推荐

  1. su成别的用户后仍以原来私钥访问远程机器

    背景: 同步机和游戏服两台机都有个人用户账号和游戏账号xy1,游戏服设了xy1的ssh强制命令来受同步机的xy1控制.现在需要在同步机上用xy1进行一个控制游戏服的操作,该操作需要在同步机远程tail ...

  2. kettle使用log4j管理输出日志

    在使用kettle进行数据分析和清洗时日志非常多而且杂乱,使用原有的日志有时找不到异常的位置,有时日志不够详细,说简单一点就是日志不是我们想要的.因而对kettle日志进行相应的管理就想得尤为重要了. ...

  3. 高效PHP开发注意事项

    2015年2月26日 17:23:26 http://www.open-open.com/lib/view/open1332904714233.html

  4. (原创)Python文件与文件系统系列(5)——stat模块

    stat模块中定义了许多的常量和函数,可以帮助解释 os.stat().os.fstat().os.lstat()等函数返回的 st_result 类型的对象. 通常使用 os.path.is*() ...

  5. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  6. apple配置WIFI热点

    打开AirPort打开设置偏好-共享,找到WIFI相关

  7. 彻底禁止QQ更新

    彻底禁止QQ自动更新 彻底禁止QQ自动更新 相信大部分朋友用的QQ都不是腾讯提供的官方原版吧,我本人就用的某精简版本,只保留了自己会用到的个别功能,既省内存,启动也超快,界面更是清爽无比. 但是,这种 ...

  8. Base Filtering Engine 拒绝访问解法

    基本筛选引擎(BFE)是一种管理防火墙和 Internet 协议安全(IPsec)策略以及实施用户模式筛选的服务.停止或禁用 BFE 服务将大大降低系统的安全.还将造成 IPsec 管理和防火墙应用程 ...

  9. Solr学习笔记(一)

    最近准备为一个产品做一个站内的搜索引擎,是一个java产品.由于原来做过Lucene.net,所以自然而然的就想到了使用Lucene.在复习Lucene的过程中发现了Solr这个和Lucene绑定在一 ...

  10. UML从需求到实现----用例

    关于用例图的概念相信不用我去说了 .能看到这篇文章的都是知道用例图概念的人. UML 中最重要的是什么图呢 ?毫无疑问应该是用例图 ,用例是后期时序图 和实际开发的重要依据. 说明一下用例图是怎么产生 ...