Winform连接数据库
Posted songhe123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform连接数据库相关的知识,希望对你有一定的参考价值。
1.手动写查询代码
//1.构造接收数据的集合 List<ManagerInfo> list = new List<ManagerInfo>(); //2.从数据库表ManageInfo查询数据 string connStr = @"data source=C:UsersCHDDesktopItcastCater.db;version = 3;"; //3.创建对象 using (SQLiteConnection conn = new SQLiteConnection(connStr)) { //4.创建Command对象 SQLiteCommand cmd = new SQLiteCommand("select * from ManagerInfo", conn); //5.打开链接 conn.Open(); //6.执行命令 SQLiteDataReader reader = cmd.ExecuteReader(); //7.读取 if (reader.HasRows) { while (reader.Read()) { list.Add(new ManagerInfo() { Mid = Convert.ToInt32(reader["mid"]), Mname = reader["mname"].ToString(), Mpwd = reader["mpwd"].ToString(), Mtype = Convert.ToInt32(reader["mtype"]) }); } } reader.Close(); //8.显示在DataGridView上 dataGridView1.DataSource = list; }
2.封装SqliteHelper
<connectionStrings> <add name="itcast" connectionString="data source=C:UsersCHDDesktopItcastCater.db;version = 3;"/> </connectionStrings>
public static class SqliteHelper { //从配置文本中读取连接字符串 private static string connStr = ConfigurationManager.ConnectionStrings["itcast"].ConnectionString; //执行命令的方法:insert,update,delete //params:可变参数,目的是省略了手动构造数组的过程,直接指定对象,编译器会帮助我们构造数组,并将对象加入数组中,传递过来 public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps) { //创建连接对象 using (SQLiteConnection conn = new SQLiteConnection(connStr)) { //创建命令对象 SQLiteCommand cmd = new SQLiteCommand(sql, conn); //添加参数 cmd.Parameters.AddRange(ps); //打开连接 conn.Open(); //执行命令,并返回受影响的行数 return cmd.ExecuteNonQuery(); } } //获取首行首列值的方法 public static object ExecuteScalar(string sql, params SQLiteParameter[] ps) { using (SQLiteConnection conn = new SQLiteConnection(connStr)) { SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.Parameters.AddRange(ps); conn.Open(); //执行命令,获取查询结果中的首行首列的值,返回 return cmd.ExecuteScalar(); } } //获取结果集 public static DataTable GetDataTable(string sql, params SQLiteParameter[] ps) { using (SQLiteConnection conn = new SQLiteConnection(connStr)) { //构造适配器对象 SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn); //构造数据表,用于接收查询结果 DataTable dt = new DataTable(); //添加参数 adapter.SelectCommand.Parameters.AddRange(ps); //执行结果 adapter.Fill(dt); //返回结果集 return dt; } } }
private void Form1_Load(object sender, EventArgs e) { //操作数据库的类 //连接Connection -> SqliteConnection //命令Command //适配器DataAdapter //DataReader //DataSet、DataTable dataGridView1.DataSource = SqliteHelper.GetDataTable("select * from ManagerInfo"); }
以上是关于Winform连接数据库的主要内容,如果未能解决你的问题,请参考以下文章