c#取数据库数据 ---两种方法
通常有以下两种方式 SqlDataReader 和SqlDataAdapter|DataSet方式 SqlDataReader 方式使用方式如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace Login { class Program { static void Main(string[] args) { //新建一个数据库连接 using(SqlConnection conn = new SqlConnection(GetConnectString())) { conn.Open();//打开数据库 //Console.WriteLine("数据库打开成功!"); //创建数据库命令 SqlCommand cmd = conn.CreateCommand(); //创建查询语句 cmd.CommandText = "SELECT * FROM userinfo"; //从数据库中读取数据流存入reader中 SqlDataReader reader = cmd.ExecuteReader(); //从reader中读取下一行数据,如果没有数据,reader.Read()返回flase while (reader.Read()) { //reader.GetOrdinal("id")是得到ID所在列的index, //reader.GetInt32(int n)这是将第n列的数据以Int32的格式返回 //reader.GetString(int n)这是将第n列的数据以string 格式返回 int id = reader.GetInt32(reader.GetOrdinal("id")); string name = reader.GetString(reader.GetOrdinal("name")); string pwd = reader.GetString(reader.GetOrdinal("password")); int age = reader.GetInt32(reader.GetOrdinal("age")); string sex = reader.GetString(reader.GetOrdinal("sex")); string phone = reader.GetString(reader.GetOrdinal("phone")); string address = reader.GetString(reader.GetOrdinal("Address")); //格式输出数据 Console.Write("ID:{0},Name:{1},PWD:{2},Age:{3},Sex:{4},Phone{5},Address:{6}\n", id, name, pwd, age, sex, phone, address); } } Console.ReadKey(); } //得到一个数据库连接字符串 static string GetConnectString() { return "Data Source=(local);Initial Catalog=db1;Integrated Security=SSPI;"; } } } SqlDataAdapter|DataSet 方式如下 加入为SQLSERVER数据库: using System.Data.SqlClient; using System.Data; SqlConnection conn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("secelt * from userinfo", conn); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds, "table"); return ds.Tables["table"];//返回的是一个DataTable
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)