时间:2021-07-01 10:21:17 帮助过:3人阅读
// 2015/07/08
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace DataTapleSample
{
class Program
{
static void Main(string[] args)
{
// 通用的专门用来保存数据库中数据的类型
DataTable table = new DataTable();
// 在DataTable 中保存数据之前,必须先定义结构
DataColumn stuid =
//new DataColumn("StuId",System.Type.GetType("System.Int32"));
new DataColumn("StuId",typeof(int));//简写方式和前者等价
DataColumn stuname = new DataColumn("stuName",typeof(string));
DataColumn stuaddress = new DataColumn("stuaddress",typeof(string));
// 创建表的结构
table.Columns.Add(stuid);
table.Columns.Add(stuname);
table.Columns.Add(stuaddress);
// 表的约束
// 主键约束
table.PrimaryKey = new DataColumn[]{stuid};
// 非空约束
// stuaddress.AllowDBNull = false;
// 唯一约束:stuname.Unique;
// 如何在 DataTable 中保存数据
// DataRow 表示保存在 DataTable 中的一行数据
DataRow row = table.NewRow();
// 使用 NewRow 方法创建的行,结构与表是相同的(如下三种方法,建议第一种)
// row[stuid] = 1;
// row[1] = "XXXX";
// row[stuaddress] = "XXXX";
row[stuid] = 7;
row[stuname] = "XX";
row[stuaddress] = "XXX";
// 现在加入到 DataTable 中
table.Rows.Add(row);
// 访问保存在 DataTable 中的数据
foreach (DataRow r in table.Rows)
{
Console.WriteLine("stuid:{0},stuName:{1},stuaddress:{2}",r[0],r[1],r[2]);
}
Console.ReadKey();
}
}
}
//////////////////////////////////////////////////////////////
// next
// 2015/07/08
// DataTable && SqlDataReader
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace StuDataTable
{
class Program
{
static void Main(string[] args)
{
// 保存在 DataTable 中
DataTable table = new DataTable();
string connectionString = "server=.;database=BookSample;uid=sa;pwd=123456";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "select ID,StuName,Phone from students";
SqlCommand cmd = new SqlCommand(sql,connection);
connection.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
// 根据查询结果的结构来创建对应的 DataTable
int columnCount = reader.FieldCount; // 查询结果的列数
// 逐列创建
for (int i = 0; i < columnCount; i++)
{
DataColumn column = new DataColumn(
reader.GetName(i),
reader.GetFieldType(i)
);
table.Columns.Add(column);
}
// 逐行从数据库中读取数据
while (reader.Read())
{
DataRow row = table.NewRow();
for (int i = 0; i < columnCount; i++)
{
row[i] = reader[i];
}
table.Rows.Add(row);
}
}
}
// 现在数据库中的数据已经保存到内存中特殊的集合中
foreach (DataRow row in table.Rows)
{
// 将 ID 读取出来
Console.WriteLine(row["ID"]);
}
Console.ReadKey();
}
}
}
/*
相关阅读:
https://msdn.microsoft.com/zh-cn/library/system.data.datatable.aspx
https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldatareader.aspx
*/
DataTable && SqlDataReader帮助理解小程序
标签: