c#——《c#语言程序设计》实验报告——数据库编程——基于ado.net技术的数据库操作demo -凯发k8官方网
凯发k8官方网
收集整理的这篇文章主要介绍了
c#——《c#语言程序设计》实验报告——数据库编程——基于ado.net技术的数据库操作demo
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
已提供一个控制台程序的框架。附件中提供了各种格式的northwind数据库。
参考案例程序,连接上数据库,进行各种操作,补全该程序。
一些可用的sql语句:
select * from 客户 where 城市='南京'//找到所有位于南京的客户
select count(*) from 客户 where 城市='南京'//统计南京客户的数量
update 客户 set 城市='天津' where 客户id='alfki'//更新客户信息,若满足条件,就将“城市”字段改为天津
可自由选择所查询的数据库表和参数。注意,sql中字符串需加单引号。
class test{static string _mdbfile = "d:/northwind.mdb";static oledbconnection _connection;static oledbdataadapter _adapter;static dataset _dataset;public static void main(string[] argv){while (true){int index = 1;console.writeline("=====menu=====");console.writeline(index ". 连接数据库");console.writeline(index ". 查询数据行");console.writeline(index ". 数据统计");console.writeline(index ". 更新数据库");console.writeline(index ". 数据库离线查询");console.writeline(index ". 离线linq查询");console.writeline(index ". 断开数据库");console.writeline(index ". 退出");console.writeline("=====end======");console.write("请选择一个操作:");string input = console.readline();int choice;bool isdigit = int.tryparse(input, out choice);if (!isdigit || choice >= index || choice < 1){console.writeline("错误选项");}if (choice == index - 1)break;switch (choice){case 1:connecttodb();break;case 2:querywithreader();break;case 3:queryscalar();break;case 4:updateonline();break;case 5:queryoffline();break;case 6:linqquery();break;case 7:closedb();break;}console.writeline();}}public static bool isconnected(){if (_connection == null || _connection.state != connectionstate.open){console.writeline("数据库未连接");return false;}return true;}public static void connecttodb(){string connstring = @"provider=microsoft.ace.oledb.12.0; data source=" _mdbfile;_connection = new oledbconnection(connstring);//补全}public static void querywithreader(){if (!isconnected())return;var command = _connection.createcommand();//补全}public static void queryscalar(){}public static void updateonline(){}public static void queryoffline(){}public static void linqquery(){}public static void closedb(){}}源代码
using system; using system.collections.generic; using system.data; using system.data.oledb; using system.linq; using system.text; using system.threading.tasks;namespace homework12 {class test{static string _mdbfile = "e:\\school life\\university\\study\\计算机\\程序语言\\c#\\第十三次课0529\\northwind\\northwind.mdb";static oledbconnection _connection;static oledbdataadapter _adapter;static dataset _dataset;public static void main(string[] argv){while (true){int index = 1;console.writeline("=====menu=====");console.writeline(index ". 连接数据库");console.writeline(index ". 查询数据行");console.writeline(index ". 数据统计");console.writeline(index ". 更新数据库");console.writeline(index ". 数据库离线查询");console.writeline(index ". 离线linq查询");console.writeline(index ". 断开数据库");console.writeline(index ". 退出");console.writeline("=====end======");console.write("请选择一个操作:");string input = console.readline();int choice;bool isdigit = int.tryparse(input, out choice);if (!isdigit || choice >= index || choice < 1){console.writeline("错误选项");}if (choice == index - 1)break;switch (choice){case 1:connecttodb();break;case 2:querywithreader();break;case 3:queryscalar();break;case 4:updateonline();break;case 5:queryoffline();break;case 6:linqquery();break;case 7:closedb();break;}console.writeline();}}public static bool isconnected(){if (_connection == null || _connection.state != connectionstate.open){console.writeline("数据库未连接");return false;}return true;}public static void connecttodb(){string connstring = @"provider=microsoft.ace.oledb.12.0; data source=" _mdbfile;_connection = new oledbconnection(connstring);//补全try{_connection.open();console.writeline("数数据库连接成功:" _mdbfile " is " _connection.state);}catch(exception e){console.writeline(e.message);_connection.close();}finally {}}public static void querywithreader(){if (!isconnected())return;var command = _connection.createcommand();//补全command.commandtext = "select * from 客户 where 城市='南京'";oledbdatareader reader = command.executereader();while (reader.read()){console.writeline(reader[0].tostring());}reader.close();}public static void queryscalar(){if (!isconnected())return;var command = _connection.createcommand();command.commandtext = "select count(*) from 客户 where 城市='南京'";int count = (int)command.executescalar();console.writeline("记录总数:" count);}public static void updateonline(){if (!isconnected())return;var command = _connection.createcommand();command.commandtext = "update 客户 set 城市='天津' where 客户id='alfki'";int count = (int)command.executenonquery();console.writeline("更新 " count " 行");}public static void queryoffline(){if (!isconnected())return;var command = _connection.createcommand();command.commandtext = "select * from 客户";_dataset = new dataset();datatable dt1 = new datatable("scene");_dataset.tables.add(dt1);_adapter = new oledbdataadapter(command);_adapter.fill(dt1);var query = from x in dt1.asenumerable()select x;foreach (datacolumn column in dt1.columns)console.write(column.columnname "\t");console.writeline();foreach (var row in query){foreach (datacolumn column in dt1.columns)console.write(row[column.columnname] "\t");console.writeline();}}public static void linqquery(){if (!isconnected())return;var command = _connection.createcommand();command.commandtext = "select * from 客户 where 城市='南京'";_dataset = new dataset();datatable dt1 = new datatable("scene");_dataset.tables.add(dt1);_adapter = new oledbdataadapter(command);_adapter.fill(dt1);var query = from x in dt1.asenumerable()where (string)x["城市"] == "南京"select x;foreach (datacolumn column in dt1.columns)console.write(column.columnname "\t");console.writeline();foreach (var row in query){foreach (datacolumn column in dt1.columns)console.write(row[column.columnname] "\t");console.writeline();}}public static void closedb(){if (!isconnected())return;_connection.close();console.writeline("数数据库关闭成功:" _mdbfile " is " _connection.state);}} }运行结果
https://blog.csdn.net/zac_sian/article/details/51161563
https://www.runoob.com/csharp/csharp-for-loop.html
https://docs.microsoft.com/zh-cn/dotnet/api/system.data.datarow?view=netframework-4.8
https://docs.microsoft.com/zh-cn/dotnet/api/system.data.oledb.oledbdataadapter?view=dotnet-plat-ext-3.1
总结
以上是凯发k8官方网为你收集整理的c#——《c#语言程序设计》实验报告——数据库编程——基于ado.net技术的数据库操作demo的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: c#——《c#语言程序设计》实验报告——