您的位置:首页 > 其它

使用类型化数据集与非类型化数据集完成用户信息的增删查改(作业整理)

2012-02-24 21:08 417 查看
期末因为时间赶得紧,做的很不好。原想加入事件、存储过程等后来都没加进去。而且还得帮着其他同学做作业,自己的作业做的还有很多地方需要完善的。

一、采用非类型化数据集完成

usingSystem;

usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Configuration;

namespaceADO.NET作业二采用非类型化数据集
{
classProgram
{
staticvoidMain(string[]args)
{
//采用非类型化数据集
DataSetds=newDataSet();
//stringstr=ConfigurationManager.ConnectionStrings["sqlstring"].ConnectionString;
stringstr="DataSource=.;"+"InitialCatalog=BookDB;"+"IntegratedSecurity=True";
try
{
using(SqlConnectionsqlcon=newSqlConnection(str))
{
SqlCommandcmd=sqlcon.CreateCommand();
cmd.CommandText="select*fromBooks";
SqlDataAdapteradapter=newSqlDataAdapter(cmd);
adapter.Fill(ds,"Books");

//1、修改第一条记录,修改后的记录为(1,操作系统,35,清华大学出版社)
ds.Tables["Books"].Rows[0]["BookPrice"]="35";
ds.Tables["Books"].Rows[0]["BookPress"]="清华大学出版社";

//2、插入一条记录(4,数据结构,32.5,高教出版社)。
DataRowdr=ds.Tables["Books"].NewRow();

dr["BookId"]=4;
dr["BookTitle"]="数据结构";
dr["BookPrice"]=32.5F;
dr["BookPress"]="高教出版社";
ds.Tables["Books"].Rows.Add(dr);

foreach(DataRowrowinds.Tables["Books"].Rows)
{
foreach(DataColumncolumninds.Tables["Books"].Columns)
{
Console.WriteLine("{0}Current={1}",column.ColumnName,row[column,DataRowVersion.Current]);
Console.WriteLine("Default={0}",row[column,DataRowVersion.Default]);
//Console.WriteLine("Original={0}",row[column,DataRowVersion.Original]);
//因为新添加的行没有原始值所以需要判断
if(dr["BookId"].Equals(4))
{
Console.WriteLine("{0}Current={1}",column.ColumnName,row[column,DataRowVersion.Current]);
Console.WriteLine("Default={0}",row[column,DataRowVersion.Default]);

/*if(column.ColumnName=="BookId"&&dr["BookId"].Equals(4))
{
Console.WriteLine("{0}Current={1}",column.ColumnName,row[column,DataRowVersion.Current]);
Console.WriteLine("Default={0}",row[column,DataRowVersion.Default]);
}*/

}
else
{
Console.WriteLine("Original={0}",row[column,DataRowVersion.Original]);
}

Console.WriteLine();
}
}

Console.WriteLine("删除第三条记录并输出其状态:");
Console.WriteLine();
//3、删除第三条记录.
ds.Tables["Books"].Rows[2].Delete();
Console.WriteLine("{0}",ds.Tables["Books"].Rows[2].RowState);
}
}
catch(SqlExceptione)
{
Console.WriteLine("{0}",e.Message);
}
Console.ReadLine();
}
}
}


//DataRow[]rows=ds.Tables[0].Select("name='张三'");

//查找

//Response.Write(rows[0]["name"].ToString()+rows[0]["password"]);

//DataRow[]rows=t.Select("Dname='"+TextBox3.Text.Trim()+"'","idDESC");

SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);

adapter.Update(ds,"Users");//这句话必须有否则只能更新视图不能更新数据库

this.GridView1.DataSource=ds.Tables[0];

this.GridView1.DataBind();

结果截图:





二、采用类型化数据集完成

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Configuration;

usingSystem.Data;

namespaceADO.NET作业

{

classProgram

{

//采用类型化数据集

staticvoidMain(string[]args)

{

BookDBDataSetTableAdapters.BooksTableAdapteradapter=

newBookDBDataSetTableAdapters.BooksTableAdapter();

BookDBDataSet.BooksDataTabletable=newBookDBDataSet.BooksDataTable();

adapter.Fill(table);

//1、修改第一条记录,修改后的记录为(1,操作系统,35,清华大学出版社)

table[0].BookPrice=35;

table[0].BookPress="清华大学出版社";

//2、插入一条记录(4,数据结构,32.5,高教出版社)。

BookDBDataSet.BooksRowrow=table.NewBooksRow();

row.BookId=4;

row.BookTitle="数据结构";

row.BookPrice=32.5F;

row.BookPress="高等教育出版社";

table.Rows.Add(row);

/*varqueryResult=fromrintable

where(bool)r[2]

selectr;*/

Console.WriteLine("输出以改变的数据表-未删除第三条记录");

Console.WriteLine();

foreach(DataRowdataRowintable.Rows)

{

foreach(DataColumndataColumnintable.Columns)

{

Console.WriteLine("{0}Current={1}",dataColumn.ColumnName,

dataRow[dataColumn,DataRowVersion.Current]);

Console.WriteLine("Default={0}",dataRow[dataColumn,DataRowVersion.Default]);

if(row.BookId.Equals(4))

{

Console.WriteLine("{0}Current={1}",dataColumn.ColumnName,

dataRow[dataColumn,DataRowVersion.Current]);

Console.WriteLine("Default={0}",dataRow[dataColumn,DataRowVersion.Default]);

}

else

{

Console.WriteLine("Original={0}",dataRow[dataColumn,DataRowVersion.Original]);

}

}

}

Console.WriteLine("删除第三条记录并输出其状态:");

Console.WriteLine();

//3、删除第三条记录

table[2].Delete();

Console.WriteLine("第三条记录的状态:{0}",table[2].RowState);

Console.ReadLine();

}

}

}

DataRow[]rows=table.Select("name='张三'");//查找

Response.Write(rows[0]["uid"]+"|"+rows[0]["name"].ToString()+"|"+rows[0]["password"]+"|"+rows[0]["power"]+"|"+rows[0]["lock"]);

adapter.Update(table);//这句话必须有否则只能更新视图不能更新数据库

this.GridView1.DataSource=table;

this.GridView1.DataBind();


结果截图:







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐