dataset与mysql_C#连接数据库DataSet的使用

本文展示了如何使用C#连接到MySQL数据库,并利用DataSet进行数据操作,包括读取、添加和删除数据。通过建立数据库连接,执行SQL查询获取数据,填充DataSet,然后使用DataRow和DataTable的方法进行数据操作,最后更新到数据库。
摘要由CSDN通过智能技术生成

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using MySql.Data.MySqlClient;

using System.Data;

namespace dataset_Using

{

class Program

{

///

///

///

/// 表头集合

/// 每一行记录信息

static void ui(DataColumnCollection column, DataRowCollection rows)

{

//打印表头的信息

Console.WriteLine(" {0,-10} {1,-10}", column[1], column[2]);//打印account,和password

foreach (DataRow row1 in rows)

{

//

Console.WriteLine(" {0,-10} {1,-10}", row1[1], row1[2]);

}

}

static void add(DataRowCollection rows, DataRow dr)

{

try

{

rows.Add(dr);

Console.WriteLine("修改数据成功了!");

}

catch (Exception ex)

{

String message = ex.Message;

Console.WriteLine("修改数据失败了!" + message);

}

}

static void delete(DataRowCollection rows, int a)

{

try

{

rows[a].Delete();

Console.WriteLine("修改数据成功了!");

}

catch (Exception ex)

{

String message = ex.Message;

Console.WriteLine("修改数据失败了!" + message);

}

}

static void Main(string[] args)

{

//数据库

String mysqlStr = "Database=test1;Data Source=127.0.0.1;User Id=root;Password=123456;pooling=false;CharSet=utf8;port=3306";

MySqlConnection mysql = new MySqlConnection(mysqlStr);

//将account表中的数据全部提取出来。

String sqlSearch = "select * from account";

//数据库适配器

MySqlDataAdapter mysqlad = new MySqlDataAdapter(sqlSearch, mysql);

//执行完此语句之后,所有的数据库数据全在mysalad中

// MySqlCommand mySqlCommand = new MySqlCommand(sqlSearch, mysql);

mysql.Open();

DataSet ds = new DataSet();

mysqlad.Fill(ds, "Table1");//填充数据集ds的Table1表

//为适配器添加其需要的数据语句

MySqlCommandBuilder SCB = new MySqlCommandBuilder(mysqlad);

//添加下面两行来指定UpdateCommand和InsertCommand命令

/*  mysqlad.UpdateCommand = SCB.GetUpdateCommand();

mysqlad.InsertCommand = SCB.GetInsertCommand();

mysqlad.DeleteCommand= SCB.GetDeleteCommand();*/

DataRow dr = ds.Tables["Table1"].NewRow();

//这里的dr和数据库表的行,对应是一样的。

dr[0] = "9";

dr[1] = "zzming";

dr[2] = "1234";

//DataRow指的是行类型

//行类型的集合为ds数据集里Table1表的所有行的信息

DataRowCollection rows = ds.Tables["Table1"].Rows;//所有accout表的信息

//表头的集合信息,每一行的信息

ui(ds.Tables["Table1"].Columns, ds.Tables["Table1"].Rows);

add(rows, dr);

// delete(rows,0);

mysqlad.Update(ds,"Table1");//对操作进行更新

ds.AcceptChanges();

// 表头集合类,     每一行行集合类

ui(ds.Tables["Table1"].Columns, ds.Tables["Table1"].Rows);

Console.Read();

mysql.Close();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值