冰天雪地裸体跪求强类型DataSet使用实例..

农夫it 2010-07-23 04:51:55
哪位大虾有这些教程啊?(winform的 ) 麻烦发给我好吗? 86175125@qq.com
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuh6 2010-07-23
  • 打赏
  • 举报
回复
从网上找找吧..最基本的东西,应该能满足你的需求!`
阿彪兄 2010-07-23
  • 打赏
  • 举报
回复
楼主是要DataSet使用吗,是的话我简单分享一点内容,不知有没帮助
例1. DataSet使用
前台:
<asp:Button ID="Button1" runat="server" Text="创建数据集与数据表" OnClick="Button1_Click" /><br />
<asp:Button ID="Button2" runat="server" Text="添加行" OnClick="Button2_Click" /><br />
<asp:Button ID="Button3" runat="server" Text="添加列" OnClick="Button3_Click" /><br />
<asp:Button ID="Button4" runat="server" Text="添加唯一键" OnClick="Button4_Click" /><br />
<asp:Button ID="Button5" runat="server" Text="添加外键" OnClick="Button5_Click" /><br />
<asp:Button ID="Button6" runat="server" Text="修改MasterID" OnClick="Button6_Click" /><br />
<asp:Button ID="Button7" runat="server" Text="求值" OnClick="Button7_Click" /><br />
<asp:Button ID="Button8" runat="server" Text="赋值" OnClick="Button8_Click" /> <br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<br />
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
后台:
using System.Xml;
using System.Xml.Schema;
protected void Button1_Click(object sender, EventArgs e)
{
DataSet dsUntyped = new DataSet("myDS");
DataTable dtMaster = new DataTable("Master");
DataTable dtChild = new DataTable("Child");
dsUntyped.Tables.Add(dtMaster);
dsUntyped.Tables.Add(dtChild);
Session["ds"] = dsUntyped;
}
protected void Button3_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
dsUntyped.Tables["Master"].Columns.Add("MasterID",typeof(int));
dsUntyped.Tables["Master"].Columns.Add("MasterValue",typeof(string));
dsUntyped.Tables["Child"].Columns.Add("MasterLink",typeof(int));
dsUntyped.Tables["Child"].Columns.Add("ChildID", typeof(int));
dsUntyped.Tables["Child"].Columns.Add("ChildValue", typeof(string));
dsUntyped.Tables["Master"].Columns["MasterID"].Caption = "主ID";
dsUntyped.Tables["Master"].Columns["MasterValue"].Caption = "值";
Session["ds"] = dsUntyped;
Bind();
}
protected void Button2_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
DataRow dr = dsUntyped.Tables["Master"].NewRow();
dr["MasterID"] = 1;
dr["MasterValue"] = "one";
dsUntyped.Tables["Master"].Rows.Add(dr);
dr = dsUntyped.Tables["Master"].NewRow();
dr["MasterID"] = 2;
dr["MasterValue"] = "two";
dsUntyped.Tables["Master"].Rows.Add(dr);
dr = dsUntyped.Tables["Child"].NewRow();
dr["ChildID"] = 1;
dr["ChildValue"] = "childone";
dsUntyped.Tables["Child"].Rows.Add(dr);
Session["ds"] = dsUntyped;
Bind();
}
protected void Button4_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
System.Data.UniqueConstraint uc = new UniqueConstraint("unqi",dsUntyped.Tables["Master"].Columns["MasterID"]);
dsUntyped.Tables["Master"].Constraints.Add(uc);
Session["ds"] = dsUntyped;
}
protected void Button5_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
System.Data.ForeignKeyConstraint fc = new ForeignKeyConstraint("fc",dsUntyped.Tables["Master"].Columns["MasterID"],dsUntyped.Tables["Child"].Columns["MasterLink"]);
dsUntyped.Tables["Child"].Constraints.Add(fc);
Session["ds"] = dsUntyped;
}
private void Bind()
{
DataSet dsUntyped = (DataSet)Session["ds"];
GridView1.DataSource = dsUntyped.Tables["Master"].DefaultView;
GridView2.DataSource = dsUntyped.Tables["Child"].DefaultView;
this.DataBind();
}
protected void Button6_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
dsUntyped.Tables["Master"].Rows[0]["MasterID"] = 4;
Bind();
}
protected void Button7_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
object obj = dsUntyped.Tables[0].Rows[0][0];
Response.Write(obj.ToString());
}
protected void Button8_Click(object sender, EventArgs e)
{
DataSet dsUntyped = (DataSet)Session["ds"];
dsUntyped.Tables[0].Rows[0][0] = 1;
Session["ds"] = dsUntyped;
Bind();
}
*添加外键的话,主键变了,引用该主键作为外键的表进行修改.
例2:编码生成XSD文件.
using System.Xml;
using System.Xml.Schema;
XmlSchema sch = new XmlSchema();
XmlSchemaElement elem = new XmlSchemaElement();
sch.Items.Add(elem);
elem.Name = "Book";
XmlSchemaComplexType cType = new XmlSchemaComplexType();
elem.SchemaType = cType;
XmlSchemaSequence seq = new XmlSchemaSequence();
cType.Particle = seq;
XmlSchemaElement eleTitle = new XmlSchemaElement();
eleTitle.Name = "Title";
eleTitle.SchemaTypeName = new XmlQualifiedName("string","http://www.w3.org/2001/XMLSchema");
XmlSchemaElement elePub = new XmlSchemaElement();
elePub.Name = "Publisher";
elePub.SchemaTypeName = new XmlQualifiedName("string","http://www.w3.org/2001/XMLSchema");
seq.Items.Add(eleTitle);
seq.Items.Add(elePub);
sch.Compile(new ValidationEventHandler(ValidationHandler));
StreamWriter sw = new StreamWriter(Server.MapPath("out.xsd"));
sch.Write(sw.BaseStream);
public void ValidataionHandler(object sender,ValidationEventArgs args)
{
Response.Write("架构验证失败");
Response.Write(args.Message);
}
产生的out.xsd文件内容为
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Book">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" type="xs:string" />
<xs:element name="Publisher" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
例3.
DataSet ds1;
ds1 = new DataSet();
ds1.Tables.Add("Customers");
ds1.Tables[0].Columns.Add("custid",typeof(int));
ds1.Tables[0].Columns.Add("custname",typeof(string));
ds1.Tables.Add("Orders");
ds1.Tables[1].Columns.Add("custid",typeof(int));
ds1.Tables[1].Columns.Add("orderid", typeof(int));
ds1.Relations.Add(ds1.Tables["Customers"].Columns["custid"],ds1.Tables["Orders"].Columns["custid"]);
GridView1.DataSource = ds1.Tables[0].DefaultView;
GridView1.DataBind();
GridView2.DataSource = ds1.Tables[1].DefaultView;
GridView2.DataBind();
2. 通过一个DataAdapter类,使用数据库无数据来推断出架构
例4.
DataSet ds1;
ds1 = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select * from customers,select * from orders","server=.;uid=sa;pwd=111;database=test");
da.FillSchema(ds1,SchemaType.Source);
ds1.Tables[0].TableName = "Customers";
ds1.Tables[1].TableName = "Orders";
ds1.Relations.Add(ds1.Tables["Customers"].Columns["custid"], ds1.Tables["Orders"].Columns["custid"]);
GridView1.DataSource = ds1.Tables[0].DefaultView;
GridView1.DataBind();
GridView2.DataSource = ds1.Tables[1].DefaultView;
GridView2.DataBind();
3. 使用XSD定义需要的DataSet架构,并用DataSet.ReadXmlSchema将架构定义载入DataSet
例5.
DataSet ds1;
ds1 = new DataSet();
ds1.ReadXmlSchema(Server.MapPath("customer.xsd"));
GridView1.DataSource = ds1.Tables[0].DefaultView;
GridView1.DataBind();
例6.
DataSet ds1;
ds1 = new DataSet();
ds1.InferXmlSchema(Server.MapPath("customer.xml",null));
GridView1.DataSource = ds1.Tables[0].DefaultView;
GridView1.DataBind();
例7.根据xml文件生成xsd文件.
string strFileName = FileUpload1.PostedFile.FileName;
DataSet MyDS = new DataSet();
MyDS.ReadXml(strFileName);
foreach (DataTable myTable in MyDS.Tables)
{
Response.Write("Table:"+myTable.TableName+"<br/>");
foreach (DataColumn myColumn in myTable.Columns)
{
Response.Write(myColumn.ColumnName + "<br>");
}
}
Response.Write("Relations:");
foreach (DataRelation myRelation in MyDS.Relations)
{
Response.Write(myRelation.RelationName);
}
MyDS.WriteXmlSchema(Server.MapPath("XMLOut.xsd"));
Valefish 2010-07-23
  • 打赏
  • 举报
回复
msdn
dreamagainzwj 2010-07-23
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/system.data.dataset.aspx

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧