1 在数据库(sqlserver)中创建表
use data0908
create table Users
(
Ids int primary key i dentity(1,1), // 创建主键关系,自增
UserName nvarchar(400),
[password] nvarchar(max),
Nickname nvarchar(max),
sex bit,
brithday datetime,
NationCode nvarchar(200))
create table Nation(
NationCode nvarchar(200) primary key, //创建主键
NationName nvarchar(200)
)
insert into Nation values('N001','汉族')
insert into Nation values('N002','满族')
insert into Nation values('N003','藏族')
insert into Nation values('N004','黎族')
insert into Nation values('N005','回族')
2 创建关系 :
Nation里的NationCode为主键 Users里的NationCode 为外键
3 在vs中操作数据库的增,删,改:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; //调用数据库 namespace 调用数据库 { class Program { static void Main(string[] args) { string connectionstring= "server=.;database=data0908;user=sa;pwd=123;";//连接字符串 SqlConnection con = new SqlConnection(connectionstring);//创建数据库连接类 SqlCommand cmd = con.CreateCommand(); //创建操作 cmd.CommandText = "insert into Users values('zhangsan','asd','张三','true','2000-01-01','N001')"; //添加用户信息 // cmd.CommandText = "update Users set Nickname='张三三' where UserName='zhangsan'" ; //更改用户信息 // cmd.CommandText = " delete from Users where UserName ='zhangsan' ";删除昵称为张三的所有信息 con.Open(); //开数据库 int a = cmd.ExecuteNonQuery(); //执行语句,此方法只能用于数据的增删改 Execute(执行的意思);Non(是非,无的意思);Query(疑问的意思) con.Close();// 关数据库 if (a > 0) Console.WriteLine("执行成功"); else Console.WriteLine("失败"); Console.ReadKey(); } } }
4 数据库中查找:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; namespace 数据库查 { class Program { static void Main(string[] args) { string lianjie = "server=.;database=data0908;user=sa;pwd=123"; //连接数据库字符 SqlConnection sa = new SqlConnection(lianjie); // 创建数据库类 SqlCommand na = sa.CreateCommand();//创建数据库操作 while (true) { string username = ""; Console.WriteLine("请输入用户名"); username = Console.ReadLine(); na.CommandText = "select * from Users where Nickname like '" + username + "%' "; sa.Open(); // 打开数据库 SqlDataReader use = na.ExecuteReader(); // 执行查询数据库sql语句=na的动作,Execute是执行的意思 Reader 读取者 if (use.HasRows) // 如果hasrow(有行的意思)说明能查询到信息 { while (use.Read()) //自动读取下一行 { Console.Write(use["username"]); Console.Write("||"); Console.Write(use["password"]); Console.Write("||"); Console.Write(use["Nickname"]); Console.Write("||"); Console.Write(use["sex"]); Console.Write("||"); Console.Write(use["brithday"]); Console.Write("||"); Console.Write(use["NationCode"]); Console.Write("||"); Console.WriteLine(); } sa.Close(); //关闭数据库 break; } else { Console.WriteLine("查无此人"); sa.Close(); } } sa.Close(); Console.ReadLine();
int a=con ExecuteNonQuery 增删改的执行语句返回的是int类型 判断是否加入增删改只需判断a ,>0则说明sql语句执行成功否则失败。
sqlDataReader dr=con.ExecuteReader(); 查询的执行语句 判断是否有数据看 dr.hasRow 如果有说明数据库里有查询所需的信息,否则没有