| goody9807 |
|
|||
| 避风的港湾-睿宇科技~~~寻找.Net的精华 可以免费得手机充值卡、QB、8无QQ号、QQ黄钻、QQ绿钻、QQ红钻、游戏点卡、更多实物礼品 |
||||
|
公告
日历
统计
导航 |
首先使用Vs.net 2003 Tools菜单中的connect to DataBase 命令连接到数据库(以本地数据库为例),然后你可以看到本地数据库中的相应的表结构,这里我建立一个users表。然后再建立一个Dataset实体,如图所示:
然后从Server Explorer 中拖拽users对象到Dataset视图中去,这时能看到视图中有一个users表的结构,然后点击保存。这时默认是自动生成Dataset的代理类。你可以把隐藏的文件都显示出来,然后看Dataset的cs文件,这个就是他的代理类。代码如下: 1 //------------------------------------------------------------------------------2 // <autogenerated>3 // This code was generated by a tool.4 // Runtime Version: 1.1.4322.23005 //6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated.8 // </autogenerated>9 //------------------------------------------------------------------------------10 ![]() 11 ![]() namespace TestXsd {12 using System;13 using System.Data;14 using System.Xml;15 using System.Runtime.Serialization;16 17 18 [Serializable()]19 [System.ComponentModel.DesignerCategoryAttribute("code")]20 [System.Diagnostics.DebuggerStepThrough()]21 [System.ComponentModel.ToolboxItem(true)]22 ![]() public class Dataset2 : DataSet {23 24 private usersDataTable tableusers;25 26 ![]() public Dataset2() {27 this.InitClass();28 System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);29 this.Tables.CollectionChanged += schemaChangedHandler;30 this.Relations.CollectionChanged += schemaChangedHandler;31 }32 33 ![]() protected Dataset2(SerializationInfo info, StreamingContext context) {34 string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));35 ![]() if ((strSchema != null)) {36 DataSet ds = new DataSet();37 ds.ReadXmlSchema(new XmlTextReader(new System.IO.StringReader(strSchema)));38 ![]() if ((ds.Tables["users"] != null)) {39 this.Tables.Add(new usersDataTable(ds.Tables["users"]));40 }41 this.DataSetName = ds.DataSetName;42 this.Prefix = ds.Prefix;43 this.Namespace = ds.Namespace;44 this.Locale = ds.Locale;45 this.CaseSensitive = ds.CaseSensitive;46 this.EnforceConstraints = ds.EnforceConstraints;47 this.Merge(ds, false, System.Data.MissingSchemaAction.Add);48 this.InitVars();49 }50 ![]() else {51 this.InitClass();52 }53 this.GetSerializationData(info, context);54 System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);55 this.Tables.CollectionChanged += schemaChangedHandler;56 this.Relations.CollectionChanged += schemaChangedHandler;57 }58 59 [System.ComponentModel.Browsable(false)]60 [System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Content)]61 ![]() public usersDataTable users {62 ![]() get {63 return this.tableusers;64 }65 }66 67 ![]() public override DataSet Clone() {68 Dataset2 cln = ((Dataset2)(base.Clone()));69 cln.InitVars();70 return cln;71 }72 73 ![]() protected override bool ShouldSerializeTables() {74 return false;75 }76 77 ![]() protected override bool ShouldSerializeRelations() {78 return false;79 }80 81 ![]() protected override void ReadXmlSerializable(XmlReader reader) {82 this.Reset();83 DataSet ds = new DataSet();84 ds.ReadXml(reader);85 ![]() if ((ds.Tables["users"] != null)) {86 this.Tables.Add(new usersDataTable(ds.Tables["users"]));87 }88 this.DataSetName = ds.DataSetName;89 this.Prefix = ds.Prefix;90 this.Namespace = ds.Namespace;91 this.Locale = ds.Locale;92 this.CaseSensitive = ds.CaseSensitive;93 this.EnforceConstraints = ds.EnforceConstraints;94 this.Merge(ds, false, System.Data.MissingSchemaAction.Add);95 this.InitVars();96 }97 98 ![]() protected override System.Xml.Schema.XmlSchema GetSchemaSerializable() {99 System.IO.MemoryStream stream = new System.IO.MemoryStream();100 this.WriteXmlSchema(new XmlTextWriter(stream, null));101 stream.Position = 0;102 return System.Xml.Schema.XmlSchema.Read(new XmlTextReader(stream), null);103 }104 105 ![]() internal void InitVars() {106 this.tableusers = ((usersDataTable)(this.Tables["users"]));107 ![]() if ((this.tableusers != null)) {108 this.tableusers.InitVars();109 }110 }111 112 ![]() private void InitClass() {113 this.DataSetName = "Dataset2";114 this.Prefix = "";115 this.Namespace = "http://tempuri.org/Dataset2.xsd";116 this.Locale = new System.Globalization.CultureInfo("en-US");117 this.CaseSensitive = false;118 this.EnforceConstraints = true;119 this.tableusers = new usersDataTable();120 this.Tables.Add(this.tableusers);121 }122 123 ![]() private bool ShouldSerializeusers() {124 return false;125 }126 127 ![]() private void SchemaChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e) {128 ![]() if ((e.Action == System.ComponentModel.CollectionChangeAction.Remove)) {129 this.InitVars();130 }131 }132 133 public delegate void usersRowChangeEventHandler(object sender, usersRowChangeEvent e);134 135 [System.Diagnostics.DebuggerStepThrough()]136 ![]() public class usersDataTable : DataTable, System.Collections.IEnumerable {137 138 private DataColumn columnUserID;139 140 private DataColumn columnUsername;141 142 private DataColumn columnPassword;143 144 private DataColumn columnNickname;145 146 private DataColumn columnEmail;147 148 private DataColumn columnLastLoginTime;149 150 private DataColumn columnGroupID;151 152 private DataColumn columnPoint;153 154 internal usersDataTable() : 155 ![]() base("users") {156 this.InitClass();157 }158 159 internal usersDataTable(DataTable table) : 160 ![]() base(table.TableName) {161 ![]() if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {162 this.CaseSensitive = table.CaseSensitive;163 }164 ![]() if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {165 this.Locale = table.Locale;166 }167 ![]() if ((table.Namespace != table.DataSet.Namespace)) {168 this.Namespace = table.Namespace;169 }170 this.Prefix = table.Prefix;171 this.MinimumCapacity = table.MinimumCapacity;172 this.DisplayExpression = table.DisplayExpression;173 }174 175 [System.ComponentModel.Browsable(false)]176 ![]() public int Count {177 ![]() get {178 return this.Rows.Count;179 }180 }181 182 ![]() internal DataColumn UserIDColumn {183 ![]() get {184 return this.columnUserID;185 }186 }187 188 ![]() internal DataColumn UsernameColumn {189 ![]() get {190 return this.columnUsername;191 }192 }193 194 ![]() internal DataColumn PasswordColumn {195 ![]() get {196 return this.columnPassword;197 }198 }199 200 ![]() internal DataColumn NicknameColumn {201 ![]() get {202 return this.columnNickname;203 }204 }205 206 ![]() internal DataColumn EmailColumn {207 ![]() get {208 return this.columnEmail;209 }210 }211 212 ![]() internal DataColumn LastLoginTimeColumn {213 ![]() get {214 return this.columnLastLoginTime;215 }216 }217 218 ![]() internal DataColumn GroupIDColumn {219 ![]() get {220 return this.columnGroupID;221 }222 }223 224 ![]() internal DataColumn PointColumn {225 ![]() get {226 return this.columnPoint;227 }228 }229 230 ![]() public usersRow this[int index] {231 ![]() get {232 return ((usersRow)(this.Rows[index]));233 }234 }235 236 public event usersRowChangeEventHandler usersRowChanged;237 238 public event usersRowChangeEventHandler usersRowChanging;239 240 public event usersRowChangeEventHandler usersRowDeleted;241 242 public event usersRowChangeEventHandler usersRowDeleting;243 244 ![]() public void AddusersRow(usersRow row) {245 this.Rows.Add(row);246 }247 248 ![]() public usersRow AddusersRow(string Username, string Password, string Nickname, string Email, System.DateTime LastLoginTime, short GroupID, int Point) {249 usersRow rowusersRow = ((usersRow)(this.NewRow()));250 ![]() rowusersRow.ItemArray = new object[] {251 null,252 Username,253 Password,254 Nickname,255 Email,256 LastLoginTime,257 GroupID,258 Point};259 this.Rows.Add(rowusersRow);260 return rowusersRow;261 }262 263 ![]() public usersRow FindByUserID(int UserID) {264 ![]() return ((usersRow)(this.Rows.Find(new object[] {265 UserID})));266 }267 268 ![]() public System.Collections.IEnumerator GetEnumerator() {269 return this.Rows.GetEnumerator();270 }271 272 ![]() public override DataTable Clone() {273 usersDataTable cln = ((usersDataTable)(base.Clone()));274 cln.InitVars();275 return cln;276 }277 278 ![]() protected override DataTable CreateInstance() {279 return new usersDataTable();280 }281 282 ![]() internal void InitVars() {283 this.columnUserID = this.Columns["UserID"];284 this.columnUsername = this.Columns["Username"];285 this.columnPassword = this.Columns["Password"];286 this.columnNickname = this.Columns["Nickname"];287 this.columnEmail = this.Columns["Email"];288 this.columnLastLoginTime = this.Columns["LastLoginTime"];289 this.columnGroupID = this.Columns["GroupID"];290 this.columnPoint = this.Columns["Point"];291 }292 293 ![]() private void InitClass() {294 this.columnUserID = new DataColumn("UserID", typeof(int), null, System.Data.MappingType.Element);295 this.Columns.Add(this.columnUserID);296 this.columnUsername = new DataColumn("Username", typeof(string), null, System.Data.MappingType.Element);297 this.Columns.Add(this.columnUsername);298 this.columnPassword = new DataColumn("Password", typeof(string), null, System.Data.MappingType.Element);299 this.Columns.Add(this.columnPassword);300 this.columnNickname = new DataColumn("Nickname", typeof(string), null, System.Data.MappingType.Element);301 this.Columns.Add(this.columnNickname);302 this.columnEmail = new DataColumn("Email", typeof(string), null, System.Data.MappingType.Element);303 this.Columns.Add(this.columnEmail);304 this.columnLastLoginTime = new DataColumn("LastLoginTime", typeof(System.DateTime), null, System.Data.MappingType.Element);305 this.Columns.Add(this.columnLastLoginTime);306 this.columnGroupID = new DataColumn("GroupID", typeof(short), null, System.Data.MappingType.Element);307 this.Columns.Add(this.columnGroupID);308 this.columnPoint = new DataColumn("Point", typeof(int), null, System.Data.MappingType.Element);309 this.Columns.Add(this.columnPoint);310 ![]() this.Constraints.Add(new UniqueConstraint("Dataset2Key1", new DataColumn[] {311 this.columnUserID}, true));312 this.columnUserID.AutoIncrement = true;313 this.columnUserID.AllowDBNull = false;314 this.columnUserID.ReadOnly = true;315 this.columnUserID.Unique = true;316 this.columnLastLoginTime.AllowDBNull = false;317 this.columnGroupID.AllowDBNull = false;318 this.columnPoint.AllowDBNull = false;319 }320 321 ![]() public usersRow NewusersRow() {322 return ((usersRow)(this.NewRow()));323 }324 325 ![]() protected override DataRow NewRowFromBuilder(DataRowBuilder builder) {326 return new usersRow(builder);327 }328 329 ![]() protected override System.Type GetRowType() {330 return typeof(usersRow);331 }332 333 ![]() protected override void OnRowChanged(DataRowChangeEventArgs e) {334 base.OnRowChanged(e);335 ![]() if ((this.usersRowChanged != null)) {336 this.usersRowChanged(this, new usersRowChangeEvent(((usersRow)(e.Row)), e.Action));337 }338 }339 340 ![]() protected override void OnRowChanging(DataRowChangeEventArgs e) {341 base.OnRowChanging(e);342 ![]() if ((this.usersRowChanging != null)) {343 this.usersRowChanging(this, new usersRowChangeEvent(((usersRow)(e.Row)), e.Action));344 }345 }346 347 ![]() protected override void OnRowDeleted(DataRowChangeEventArgs e) {348 base.OnRowDeleted(e);349 ![]() if ((this.usersRowDeleted != null)) {350 this.usersRowDeleted(this, new usersRowChangeEvent(((usersRow)(e.Row)), e.Action));351 }352 }353 354 ![]() protected override void OnRowDeleting(DataRowChangeEventArgs e) {355 base.OnRowDeleting(e);356 ![]() if ((this.usersRowDeleting != null)) {357 this.usersRowDeleting(this, new usersRowChangeEvent(((usersRow)(e.Row)), e.Action));358 }359 }360 361 ![]() public void RemoveusersRow(usersRow row) {362 this.Rows.Remove(row);363 }364 }365 366 [System.Diagnostics.DebuggerStepThrough()]367 ![]() public class usersRow : DataRow {368 369 private usersDataTable tableusers;370 371 internal usersRow(DataRowBuilder rb) : 372 ![]() base(rb) {373 this.tableusers = ((usersDataTable)(this.Table));374 }375 376 ![]() public int UserID {377 ![]() get {378 return ((int)(this[this.tableusers.UserIDColumn]));379 }380 ![]() set {381 this[this.tableusers.UserIDColumn] = value;382 }383 }384 385 ![]() public string Username {386 ![]() get {387 ![]() try {388 return ((string)(this[this.tableusers.UsernameColumn]));389 }390 ![]() catch (InvalidCastException e) {391 throw new StrongTypingException("Cannot get value because it is DBNull.", e);392 }393 }394 ![]() set {395 this[this.tableusers.UsernameColumn] = value;396 }397 }398 399 ![]() public string Password {400 ![]() get {401 ![]() try {402 return ((string)(this[this.tableusers.PasswordColumn]));403 }404 ![]() catch (InvalidCastException e) {405 throw new StrongTypingException("Cannot get value because it is DBNull.", e);406 }407 }408 ![]() set {409 this[this.tableusers.PasswordColumn] = value;410 }411 }412 413 ![]() public string Nickname {414 ![]() get {415 ![]() try {416 return ((string)(this[this.tableusers.NicknameColumn]));417 }418 ![]() catch (InvalidCastException e) {419 throw new StrongTypingException("Cannot get value because it is DBNull.", e);420 }421 }422 ![]() set {423 this[this.tableusers.NicknameColumn] = value;424 }425 }426 427 ![]() public string Email {428 ![]() get {429 ![]() try {430 return ((string)(this[this.tableusers.EmailColumn]));431 }432 ![]() catch (InvalidCastException e) {433 throw new StrongTypingException("Cannot get value because it is DBNull.", e);434 }435 }436 ![]() set {437 this[this.tableusers.EmailColumn] = value;438 }439 }440 441 ![]() public System.DateTime LastLoginTime {442 ![]() get {443 return ((System.DateTime)(this[this.tableusers.LastLoginTimeColumn]));444 }445 ![]() set {446 this[this.tableusers.LastLoginTimeColumn] = value;447 }448 }449 450 ![]() public short GroupID {451 ![]() get {452 return ((short)(this[this.tableusers.GroupIDColumn]));453 }454 ![]() set {455 this[this.tableusers.GroupIDColumn] = value;456 }457 }458 459 ![]() public int Point {460 ![]() get {461 return ((int)(this[this.tableusers.PointColumn]));462 }463 ![]() set {464 this[this.tableusers.PointColumn] = value;465 }466 }467 468 ![]() public bool IsUsernameNull() {469 return this.IsNull(this.tableusers.UsernameColumn);470 }471 472 ![]() public void SetUsernameNull() {473 this[this.tableusers.UsernameColumn] = System.Convert.DBNull;474 }475 476 ![]() public bool IsPasswordNull() {477 return this.IsNull(this.tableusers.PasswordColumn);478 }479 480 ![]() public void SetPasswordNull() {481 this[this.tableusers.PasswordColumn] = System.Convert.DBNull;482 }483 484 ![]() public bool IsNicknameNull() {485 return this.IsNull(this.tableusers.NicknameColumn);486 }487 488 ![]() public void SetNicknameNull() {489 this[this.tableusers.NicknameColumn] = System.Convert.DBNull;490 }491 492 ![]() public bool IsEmailNull() {493 return this.IsNull(this.tableusers.EmailColumn);494 }495 496 ![]() public void SetEmailNull() {497 this[this.tableusers.EmailColumn] = System.Convert.DBNull;498 }499 }500 501 [System.Diagnostics.DebuggerStepThrough()]502 ![]() public class usersRowChangeEvent : EventArgs {503 504 private usersRow eventRow;505 506 private DataRowAction eventAction;507 508 ![]() public usersRowChangeEvent(usersRow row, DataRowAction action) {509 this.eventRow = row;510 this.eventAction = action;511 }512 513 ![]() public usersRow Row {514 ![]() get {515 return this.eventRow;516 }517 }518 519 ![]() public DataRowAction Action {520 ![]() get {521 return this.eventAction;522 }523 }524 }525 }526 }527 ![]() 你可以用代理类提供的方法方便的对xml文件进行操作,代码如下: 1
Dataset2 ds = new Dataset2() ;2 ds.ReadXml("test.xml") ;3 4 Dataset2.usersRow row = ds.users.NewusersRow() ;5 row.Username="test";6 row.Email ="test@test.com";7 row.Password ="test";8 row.Nickname ="test";9 row.LastLoginTime =DateTime.Now ;10 row.GroupID =1;11 row.Point =100;12 ds.users.AddusersRow(row) ;13 ![]() 14 ds.WriteXml("test.xml") ;
这种方法非常方便,使用拖拽的方式生成xml schemal ,当然事先你也可以自己定义好schemal后 ,再生成代理类,偶是个懒人觉得这种方式比较适合我!如果你有什么好的想法都可以回复到下面! 程序员问答社区,解决您的IT难题
|
![]() |
|
| Copyright © PointNet | Powered by: 博客园 模板提供:沪江博客 |