C#对数据库新增修改删除总结

C#对数据库新增修改删除总结


开发工具与关键技术:Microsoft Visual Studio C# 、MVC

作者:肖佳鑫

撰写时间:2020年8月 8日

对数据操作之前得获取到相对应的数据也就是要把数据查询出来

以上待修改

查询数据分为两种写法

先实例化数据库模型

在这里插入图片描述

命名为FJDPXTEntities 引用到控制器

第一种:声明的数据类型
接收数据的变量= from 表格参数A in myModel.表格A

join 表格B参数
in myModel.表格B

on 表格A.主键
equals 表格B.外键

join 表格C参数
in myModel.表格C

on 表格A.外键equals 表格C.主键

join 表格D参数
in myModel.表格D

on 表格E.主键
equals 表格D参数.表格D外键

where 加上条件

orderby 表格A.主键
根据表格A主键排序

select new 接收数据的实例类或者返回给接收数据的变量

 {  要查询的值

    参数名=表格参数.属性(连表中的所有参数的集合数据都能查询到)

    参数名=表格B参数.属性,

    参数名=表格A参数.属性

     参数名=表格E参数.属性 

  };

多条件查询可在这里加上条件

示例如下:
在这里插入图片描述

第二种:

Lambda基本语法:

声明数据类型 接收数据的变量= myModel.数据库表.(where或者返回数据的格式)(参数A => 参数A.属性== 条件数据).(前面是where的话在这加上返回的数据格式);

S_User modUser =myModel.S_User.Single(m => m.userID == userId);  参照

所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者 “成为”。

运算符将表达式分为两部分,左边指定输入参数

右边是lambda的主体,一些筛选语句等等,可以简单的理解为sql里面的where条件

像没有条件或者单条件查询建议用limbad查询语句会比较节省代码量

把数据查询出来之后就是对数据的逻辑性处理达到我们想要的准确数据操作主要为为一下几种


判断数据是否存在也就是不为空

if (!string.IsNullOrEmpty(string类型参数))

如果
value 参数为 null 或空字符串(""),则为 true;否则为false。

这里加上!取反当参数为空时返回false 参数不为空时返回true

if (变量== “” || 变量== undefined || 变量==null)

空字符串

Undefined 只有一个值Undefined声明一个变量为给变量赋值时该变量为未定义类型

Null null这个值专门用来表示一个空对象

并列排除这三个该参数不为空


正则格式判定

if (Regex.IsMatch(参数字符串, "^([a-zA-Z]|[0-9])(\\w|\\-)+@[a-zA-Z0-9]+\\.([a-zA-Z]{2,4})$"))

判定该参数是否为该正则格式是返回true 不是则返回false

if (string.IsNullOrEmpty(参数)|| !Regex.IsMatch(参数,"^\\+?[0-9]{1,6}(\\.[0-9]{1,2})?$"))

判定该参数是否为空或是否为该正则格式

regexImageFilter = /^(?:image\/bmp|image\/gif|image\/jpg|image\/jpeg|image\/png)$/i; 

if
(regexImageFilter.test(imgfFile.type))

判定文件类型


布尔值判定

if(参数)

当参数为true时返回trur 当参数为fals时返回fals

if (参数=“true”)

当参数为true 时返回true 否则返回fals

if (参数=“fals”)

当参数为fals时返回true 否则返回fals

if (参数!=“true”&&参数!=“fals”)

判定一个参数是否为布尔值 是则返回true 否则返回fals


判定数值是否相等

Var v1= 获取参数 Var v2= 获取参数

If(v1 == v2)

判定是否相等

列:
在这里插入图片描述


For循环遍历查询符合要求的数据

根据参数A的长度来作为循环的次数

for (int 参数A=0; 参数A(字符长度或者包含的数量)< 长度或大小参数; 参数A++)


等等各种数据处理方法来实现我们想要的目的

具体要操作的值找到后就进行下面的操作即可

1、 新增数据库文件

调用linq的新增

myModel.数据库表.Add(参数);

保存数据修改到数据库

myModel.SaveChanges();

2、 修改数据库文件

修改数据对象的状态为修改(告诉数据库,我把数据修改了)

myModel.Entry(参数).State= System.Data.Entity.EntityState.Modified;

保存数据修改到数据库

myModel.SaveChanges();

3、 删除数据库文件
删除数据
myModel. 数据库表.Remove(参数);

保存数据修改到数据库

myModel.SaveChanges();

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用GridControl控件与数据库进行交互,实现动态增删改查数据。 首先,需要在GridControl中设置数据源,可以使用BindingSource组件来绑定数据源,代码如下: ``` BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = 数据库表名; gridControl.DataSource = bindingSource; ``` 接着,可以使用DataAdapter组件进行数据库操作,例如查询数据: ``` SqlDataAdapter da = new SqlDataAdapter("select * from 数据库表名", 连接字符串); DataTable dt = new DataTable(); da.Fill(dt); bindingSource.DataSource = dt; ``` 对于增加、修改删除数据,可以使用GridView的事件来实现,例如: ``` //新增数据 private void gridView_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e) { SqlDataAdapter da = new SqlDataAdapter(); da.InsertCommand = new SqlCommand("insert into 数据库表名 values(@列名)", 连接字符串); da.InsertCommand.Parameters.Add("@列名", SqlDbType.VarChar, 50, "列名"); da.Update((DataTable)gridControl.DataSource); } //修改数据 private void gridView_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e) { SqlDataAdapter da = new SqlDataAdapter(); da.UpdateCommand = new SqlCommand("update 数据库表名 set 列名=@列名 where ID=@ID", 连接字符串); da.UpdateCommand.Parameters.Add("@列名", SqlDbType.VarChar, 50, "列名"); da.UpdateCommand.Parameters.Add("@ID", SqlDbType.Int, 4, "ID"); da.Update((DataTable)gridControl.DataSource); } //删除数据 private void gridView_RowDeleted(object sender, DevExpress.Data.RowDeletedEventArgs e) { SqlDataAdapter da = new SqlDataAdapter(); da.DeleteCommand = new SqlCommand("delete from 数据库表名 where ID=@ID", 连接字符串); da.DeleteCommand.Parameters.Add("@ID", SqlDbType.Int, 4, "ID"); da.Update((DataTable)gridControl.DataSource); } ``` 以上代码仅供参考,具体实现需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值