操作数据库


在操作数据库时,将数据方法封装为不同类,增加程序的可读性


提供数据连接对象的类




using
System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; namespace ConsoleApplication1 { //提供数据连接对象 public class DBConnect { private static string connstring = "server=.;database=mydb;user=sa;pwd=123"; public static SqlConnection Conn { get { return new SqlConnection(connstring); } } } }


建属性

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication1
{
public class Nation
{
private string code;


public string Code
{
get { return code; }
set { code = value; }
}
private string name;


public string Name
{
get { return name; }
set { name = value; }
}
}
}

封装运算方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
//主要实现对Nation表的各种操作(增删改查)
public class NationDA
{
private SqlConnection _conn; //连接对象
private SqlCommand _cmd; //命令对象
private SqlDataReader _dr; //读取器对象

//构造方法来初始化连接对象 命令对象
public NationDA()
{
_conn = DBConnect.Conn; //对连接对象进行初始化
_cmd = _conn.CreateCommand(); //对命令对象进行初始化
}

//添加数据的方法
public bool Add(string code,string name)
{
_cmd.CommandText = "insert into Nation values(@code,@name)";
_cmd.Parameters.AddWithValue("@code",code);
_cmd.Parameters.AddWithValue("@name",name);

_conn.Open();
int n = _cmd.ExecuteNonQuery();
_conn.Close();

if (n > 0)
{
return true;
}
else
{
return false;
}
}

//查询所有数据的方法
public List<Nation> Select()
{
_cmd.CommandText = "select * from Nation";
_conn.Open();
_dr = _cmd.ExecuteReader();
_conn.Close();

//定义一个空的集合
List<Nation> list = new List<Nation>();

if (_dr.HasRows)
{
while (_dr.Read())
{
//造一个Nation对象
Nation data = new Nation();
data.Code = _dr[0].ToString();
data.Name = _dr[1].ToString();

//扔到集合里面
list.Add(data);
}
}

return list;
}
}
}

主函数调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入代号:");
string code = Console.ReadLine();

Console.WriteLine("请输入名称:");
string name = Console.ReadLine();

NationDA da = new NationDA();

if (da.Add(code, name))
{
Console.WriteLine("添加成功!");
}
else
{
Console.WriteLine("添加失败!");
}


Console.ReadLine();
}
}
}

 
原文地址:https://www.cnblogs.com/kun-boke/p/5880364.html