日志文章

2007年12月03日 10:11:43

VS2008开发-Linq to sql

首先创建一个C#控制台工程LINQToSQL,然后打开服务浏览器,单击右键,创建数据库,如下图示




在弹出窗口中填入相应信息,如下图示:




数据库创建数据库完成后,创建表如下图示:




在解决方案管理器中击右键,选择添加新项,在弹出窗口中选择Linq to sql class
如下图示:




创建完成后,在服务管理器中,拖到刚创建的表Stu_info到Student.dbml中,完成效果如图




打开Program.cs文件,键入如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LINQToSQL
{
class Program
{
  static void Main(string[] args)
  {
    //插入测试
    //Stu_Info s = new Stu_Info();
    //s.Stu_Name = "萧秋水";
    //s.Stu_Age = 20;
    //StudentList.Insert_Student(s);
    //Console.WriteLine("插入成功!");
   
    //筛选测试

    //IEnumerable<Stu_Info> students = StudentList.Select_Students();
    //foreach (var stu in students)
    //{
    //   Console.WriteLine(stu.Stu_Name);
    //}
     
    //删除测试

    //   StudentList.Del_Students(1);

    //更新测试

  /* Stu_Info s = new Stu_Info();
    s.Stu_Name = "燕狂徒";
    s.Stu_Age = 60;
    StudentList.Update_Student(s);
*/
  }
}
public class StudentList
{
  /// <summary>
  /// 插入数据
  /// </summary>
  /// <param name="stu"></param>
  /// <returns></returns>
  public static bool Insert_Student(Stu_Info stu)
  {
    StudentDataContext stu_DataContext = new StudentDataContext();
    try
    {
      stu_DataContext.Stu_Infos.InsertOnSubmit(stu);
     
      stu_DataContext.SubmitChanges();
      return true;
    }
    catch(Exception e)
    {
      Console.WriteLine(e);
      return false;
    }      
  }
  /// <summary>
  /// 筛选数据
  /// </summary>
  /// <returns></returns>
  public static IEnumerable<Stu_Info> Select_Students()
  {
    StudentDataContext stu_DataContext = new StudentDataContext();
    try
    {
      var s=from stu in stu_DataContext.Stu_Infos select stu;
      return s;
   
      // string sql = "select * from Stu_Info";
      // Object[] obj = new Object[0] { };
      //stu_DataContext.Log = Console.Out;      
      //return stu_DataContext.ExecuteQuery<Stu_Info>(s.ToString(),obj);
   
    }
    catch (Exception e)
    {
      Console.WriteLine(e);
      return null;
    }
   
  }
  /// <summary>
  /// 删除数据
  /// </summary>
  /// <param name="id"></param>
  /// <returns></returns>
  public static bool Del_Students(int id)
  {
    StudentDataContext stu_DataContext = new StudentDataContext();
    try
    {
      var s = from stu in stu_DataContext.Stu_Infos where stu.Stu_ID==1 select stu;
      if (s.Count<Stu_Info>()>0)
      {
        stu_DataContext.Stu_Infos.DeleteOnSubmit(s.First<Stu_Info>());
        stu_DataContext.SubmitChanges();
      }
     
      return true;
   
    }
    catch (Exception e)
    {
      Console.WriteLine(e);
      return false;
    }
   
  }
  /// <summary>
  /// 更新数据
  /// </summary>
  /// <param name="stu"></param>
  /// <returns></returns>
  public static bool Update_Student(Stu_Info stu)
  {
    StudentDataContext stu_DataContext = new StudentDataContext();
    try
    {
      var s = from student in stu_DataContext.Stu_Infos where student.Stu_ID == 2 select student;
   
      foreach(Stu_Info newStu in s)
      {
        newStu.Stu_Name = stu.Stu_Name ;
        newStu.Stu_Age = stu.Stu_Age;
      }
   
      stu_DataContext.SubmitChanges();
   
      return true;
    }
    catch (Exception e)
    {
      Console.WriteLine(e);
      return false;
    }  
  }
}
}

Tags: VS2008   Linq  

类别: DotNet |  评论(2) |  浏览(2886) |  收藏
2楼 [匿名]Eric 2008年03月21日 09:06:47 Says:
谢谢....这文章使我受益非浅!
多谢楼主!
1楼 [匿名]ding.wang 2008年02月27日 17:22:37 Says:
老杨,讲的不错,我是王鼎,望你多发一些好文章.
发表评论