LinQ和ADO.Net增删改查 备忘

是否些倦了 SqlConnection conn=new SqlConnection();一系列繁冗的代码? 来试试Linq吧

查:

using System.Data.SqlClient;

namespace obj
{
    public class StudentDA
    {
        SqlConnection conn;
        SqlCommand cmd;
        public StudentDA()
        {
            conn = new SqlConnection("server=.;database=aaaaa;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }
        public List<type> Search()
    {
        List<type> data = null;
        cmd.CommandText = "select Student.sno,sname,Course.Cno,cname,tname,degree from Score join  Student on student.sno=score.sno join  course  on course.Cno=score.Cno join teacher  on teacher.tno=course.tno";
        cmd.Parameters.Clear();
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            data = new List<type>();
            while (dr.Read())
            {
                type a = new type();
                a.Sno = dr["Sno"].ToString();
                a.Sname = dr["Sname"].ToString();
                a.Cno = dr["Cno"].ToString();
                a.Cname = dr["Cname"].ToString();
                a.Tname = dr["Tname"].ToString();
                a.Degree = dr["Degree"].ToString();
                data.Add(a);
            }
        }
        cmd.Dispose();
        conn.Close();
        return data;
    }
 public type Ss(string id,string od)  //两个参数值,数出 type类型结果
        {
            type Ss = null;
            cmd.CommandText = "select Student.sno,sname,Course.Cno,cname,tname,degree from Score join  Student on student.sno=score.sno join  course  on course.Cno=score.Cno join teacher  on teacher.tno=course.tno where [email protected] and [email protected]";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@Cno", od);
            cmd.Parameters.Add("@Sno", id);
            conn.Open();
            SqlDataReader dr =cmd.ExecuteReader();
            if(dr.Read())
            {
                Ss = new type();
                Ss.Sno = dr["Sno"].ToString();
                Ss.Sname = dr["Sname"].ToString();
                Ss.Cno = dr["Cno"].ToString();
                Ss.Cname = dr["Cname"].ToString();
                Ss.Tname = dr["Tname"].ToString();
                Ss.Degree = dr["Degree"].ToString();
            }
            cmd.Dispose();
            conn.Close();
            return Ss;
        }


LinQ:

需要先建一个 LinQ to SQL类,在服务器资源管理器中建立新的连接 然后设置数据库地址和登录设置,然后选取数据库

确定建好类文件 .dbml 选择数据空中的表拖入,系统自动会生成以列名相同的类,

然后见一个类 来写方法

 public class InfoBF
    {
        private MyDBDataContext _Context = new MyDBDataContext();
        public List<Info> Select()  //查询info类型的所有
        {
            return _Context.Info.ToList();
        }
        public Info Select(string code) //一个输入参数返回 info类型
        {
            var query = _Context.Info.Where(p=>p.Code == code);  //lambda表达式
            if (query.Count() > 0)
            {
                return query.First();   //取第一条
            }
            return null;
        }

增:

 public void Insert(Student stu)
        {
            cmd.CommandText = "insert into student values(@Sno,@Sname,@Ssex,@Sbirthday,@Class)";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@Sno", stu.Sno);
            cmd.Parameters.Add("@Sname", stu.Sname);
            cmd.Parameters.Add("@Ssex", stu.Ssex);
            cmd.Parameters.Add("@Sbirthday", stu.Sbirthday);
            cmd.Parameters.Add("@Class", stu.Class);
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }

LinQ:

   public void Insert(string code, string name, bool sex, string nation, DateTime birthday)
        {
            Info data = new Info
            {
                Code = code,
                Name = name,
                Sex = sex,
                Nation = nation,
                Birthday = birthday
            };
            _Context.Info.InsertOnSubmit(data);
            _Context.SubmitChanges();
        } 
 public void Insert(Info data)
        {
            _Context.Info.InsertOnSubmit(data);
            _Context.SubmitChanges();
        }

 

改:

 public void Update(type data)
        {
            cmd.CommandText = "update student set [email protected] where [email protected];update score set [email protected] where [email protected] and [email protected];update course set [email protected] where [email protected];update teacher set [email protected] where tno =(select tno from course where [email protected])";
            cmd.Parameters.Add("@Sno", data.Sno);
            cmd.Parameters.Add("@Sname", data.Sname);
            cmd.Parameters.Add("@Cno", data.Cno);
            cmd.Parameters.Add("@Cname", data.Cname);
            cmd.Parameters.Add("@Tname", data.Tname);
            cmd.Parameters.Add("@Degree", data.Degree);
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }

LinQ:

 public void Update(string code, string name, bool sex, string nation, DateTime birthday)
        {
            var query = _Context.Info.Where(p => p.Code == code);
            if (query.Count() > 0)
            {
                Info data = query.First();
                data.Name = name;
                data.Sex = sex;
                data.Nation = nation;
                data.Birthday = birthday;
                _Context.SubmitChanges();
            }
        }

删:

 public void Delete(string id)
        {
            cmd.CommandText = "";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@id", id);
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();
        }

LinQ:

 public void Delete(string code)
        {
            var query = _Context.Info.Where(p=>p.Code == code);
            if (query.Count() > 0)
            {
                Info data = query.First();
                _Context.Info.DeleteOnSubmit(data);
                _Context.SubmitChanges();
            }
        }
时间: 2024-10-18 03:53:49

LinQ和ADO.Net增删改查 备忘的相关文章

Django--ORM--模型增删改查--备忘

以上运算符都区分大小写,在这些运算符前加上i表示不区分大小写,如iexact.icontains.istartswith.iendswith.insert into tb_bookinfo()values()新增--savebook = BooksInfo(bookname = '红楼梦',bookpubtime = date(1930,9,1),bookauthor = '曹雪芹') character = CharacterInfo(charactername = '猪八戒',charact

LinQ:集成化语言增删改查

LinQ:集成化语言增删改查 O--M--R Object:对象   Mapping:映射   Relation:关系 用法: 一.简单的查询 造一个上下文对象: HRDataContext _context = new HRDataContext(); 扩展方法,查所有 dataGridView1.DataSource = _context.Info; 根据条件查,括号里要写Lambda表达式 List<Info> list = _context.Info.Where(p=>p.列名=

Linq to SQL 简单增删改查

Linq to SQL 简单增删改查 用Linq大大减少了对数据库的一般操作所需的编码量. 运行下面事例之前,首先建一个叫做Alien的数据库表. CREATE TABLE [dbo].[Aliens](    [Id] [int] IDENTITY(1,1) NOT NULL primary key,    [Name] [nchar](10) NULL,) 建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖

2017-6-1 Linq 基础查询 (增删改查)

用小型人员管理系统的项目实战来练习linq的基础增删改查: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// users 的摘要说明 /// </summary> public partial class users { public string sexstr { get { return Convert.ToBoolean(

ADO.NET 增删改查的基本用法

ADO.NET:数据访问技术 就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中也可以将数据库中的数据提取到内存中供程序调用 所有数据访问技术的基础 连接数据库基本格式:需要两个类1.数据库连接类 SqlConnection2.数据库操作类 SqlCommand //1.连接数据库//写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密码string sql = "server=.;database=

0912 ADO.NET 增删改查

1.使用c#对数据库进行增删改基本上一致(以改为例) Console.Write("请输入要修改的学号:");string a = Console.ReadLine();Console.Write("请输入修改后的姓名:");string b = Console.ReadLine();Console.Write("请输入修改后的性别:");string c = Console.ReadLine();Console.Write("请输入修

ADO.NET增删改查

1 ADO.NET 就是将C#和MSSQL连接起来的一个纽带,可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用,所有数据访问技术的基础. 2 连接数据库基本格式(增.删.改): (1)需要两个类: 数据库连接类  SqlConnection 数据库操作类  SqlCommand (2)格式(步骤) A 连接字符串:连接哪台服务器.连接哪个数据库.连接用户名.密码 String sql ="server=.;database=lianxi;use

数据库连接 ADO.NET增删改查

ADO.net:数据库访问技术程序操作的数据都是变量或对象,这些东西都存在于内存中但是有很多的数据是存在数据库中的,数据库中的数据存在于硬盘上 作用:将数据库中的数据取到内存中来,可以让程序进行操作 将内存中的数据,写入到数据库中 1.using System.Data.SqlClient; //引用命名空间 2.建立 数据库连接类 string str = "server=.;database=Data0515;user=sa;pwd=123;";//连接字符串 SqlConnect

ado.net增删改查练习

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { //删除 //创建数据库连接对象,并编写连接字符串,注意连接字符串不要写错 SqlConnection c