一: 新建名为linq的项目
创建 linq
1 在项目里添加文件夹 App_Code;
2 在文件夹(App_Code) 添加 名为db的 Linq To Sql 类 :一个Linq To Sql 类对应一个数据库且不能重名。
3 点击服务器资源管理器 出现以下界面:
(图一)
4.点击上图提示的连接服务器的图标,出现以下界面:
(图二)
5 连接到名为(.)的数据库,用身份验证进入数据库选择所用表的数据库文件夹名
6 将所用的表拖到(图一)里,出现以下界面(图三) ★注意所用的表必须设定主外键。
二: 写方法
1 查询表里全部用户:
引用命名空间 : using linq.App_Code
1)查全部:
using (dbDataContext con = new dbDataContext()) // 引用数据库 { List<Users> li = con.Users.ToList(); //从数据库查询出来的所有用户信息(li) foreach (Users u in li) //从集合里遍历出来的u 就是每个用户的信息 { } }
2)精确查:
using (dbDataContext con = dbDataContext()) { string x = "三"; string y = "123"; List<Users> li = con.Users.Where(r=>r.Nickname==x&&r.password==y) .ToList();//从数据库查询出来的所有用户名为“三”并且密码是123的用户 foreach (Users u in li) //从集合里遍历出来的u 就是每个用户的信息 { } }
3) 模糊差:
using (dbDataContext con = new dbDataContext())
{
string x = "三";
List<Users> li = con.Users.Where(r=>r.Nickname.Contains(x)) .ToList(); // 从数据库查询出来的所有昵称包含“三”字符的用户
foreach (Users u in li) // 从集合里遍历出来的u 就是每个用户的信息
{
}
}
4)查其中一个的数据:
using (DataClasses1DataContext con = new DataClasses1DataContext())
{
Users u = con.Users.FirstOrDefault(); //从数据库查询所有中的第一条用户信息
}
5)添加数据:
using (dbDataContext con = new dbDataContext()) { Users us = con.Users.Where(a => a.UserName == textBox1.Text).FirstOrDefault(); if (us != null) { MessageBox.Show("用户已存在,请重新输入"); // } else { Users u = new Users(); if (u != null) { u.UserName = textBox1.Text; string x = textBox2.Text; string y = textBox3.Text; if (x != y) { MessageBox.Show("两次密码输入不一致"); return; } else { u.password = textBox3.Text; u.Nickname = textBox4.Text; if (radioButton1.Checked == true) { u.sex = true; } else { u.sex = false; } u.brithday = Convert.ToDateTime(maskedTextBox1.Text); if (comboBox1.SelectedText == "汉族") { u.NationCode = "N001"; } else if (comboBox1.SelectedText == "藏族") { u.NationCode = "N003"; } else if (comboBox1.SelectedText == "黎族") { u.NationCode = "N004"; } else { u.NationCode = "N005"; } con.Users.InsertOnSubmit(u); //连接数据库Users表并提交增加的用户信息u;
con.SubmitChanges(); // 向数据库提交改变; MessageBox.Show("添加成功"); } }
6) 删除数据:
using (dbDataContext con = new dbDataContext()) { List<Users> u = con.Users.Where(a => a.Ids.ToString() == listView1.SelectedItems[0].Text).ToList(); DialogResult dr= MessageBox.Show("确定删除吗","删除",MessageBoxButtons.OKCancel); if (dr == DialogResult.OK) { con.Users.DeleteOnSubmit(u[0]); //从表里删除选中的用户信息 con.SubmitChanges(); //并提交改变 MessageBox.Show("删除成功");
7) 改数据:
using (dbDataContext con = new dbDataContext()) { Users u = con.Users.Where(a => a.Ids.ToString() == id).FirstOrDefault(); if (u != null) { u.Nickname = textBox34.Text; if (radioButton1.Checked == true) { u.sex = true; } else { u.sex =false; } u.brithday = Convert.ToDateTime(textBox35.Text); u.Nation.NationName = textBox36.Text; con.SubmitChanges(); MessageBox.Show("修改成功"); }