William Hindman
wdhindman at dejpolsystems.com
Tue Apr 29 10:26:31 CDT 2008
...sigh ...I look at some of the stuff Shamil posts and haven't a clue what he's doing, much less why ...waaaaaaaay over my head ...so much so I get a bad headache every time I try to read some of it ...but you definitely get an AMEN! ...and then some ...on VS2K8 ...when MS finally gets something right, its RIGHT!!! :) William -------------------------------------------------- From: "Gustav Brock" <Gustav at cactus.dk> Sent: Tuesday, April 29, 2008 10:39 AM To: <dba-vb at databaseadvisors.com> Subject: Re: [dba-VB] Update gets string or binary truncation error > Hi John > > That is what the DataTableAdapter is for. If you use the wizard for > creating these to attach your tables, it will do all the plumbing and > create a (giant) class which wraps all this for you taking care of > relations, not null, max lengths, strong types, error handling etc. etc. > not to say provide the basis for creating all the queries you need > including ready-made basic queries for CRUD as well as giving you the > choice to use stored procedures, pass-through or normal queries. > > All of this is controlled from a graphic layout like a relations view. If > that isn't enough it also lets you carry on with Data Access Layers and > business rules. > > Nothing is hidden or secret. You can browse the class should you have the > patience and wish so. This is a snippet: > > private void InitClass() { > this.columnKundeNr = new > global::System.Data.DataColumn("KundeNr", typeof(int), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnKundeNr); > this.columnNavn = new > global::System.Data.DataColumn("Navn", typeof(string), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnNavn); > this.columnAdr1 = new > global::System.Data.DataColumn("Adr1", typeof(string), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnAdr1); > this.columnAdr2 = new > global::System.Data.DataColumn("Adr2", typeof(string), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnAdr2); > this.columnPostNr = new > global::System.Data.DataColumn("PostNr", typeof(string), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnPostNr); > this.columnBynavn = new > global::System.Data.DataColumn("Bynavn", typeof(string), null, > global::System.Data.MappingType.Element); > base.Columns.Add(this.columnBynavn); > this.columnTlf = new global::System.Data.DataColumn("Tlf", > typeof(string), null, global::System.Data.MappingType.Element); > base.Columns.Add(this.columnTlf); > this.Constraints.Add(new > global::System.Data.UniqueConstraint("Constraint1", new > global::System.Data.DataColumn[] { > this.columnKundeNr}, true)); > this.columnKundeNr.AllowDBNull = false; > this.columnKundeNr.Unique = true; > this.columnNavn.AllowDBNull = false; > this.columnNavn.MaxLength = 50; > this.columnAdr1.MaxLength = 50; > this.columnAdr2.MaxLength = 50; > this.columnPostNr.MaxLength = 50; > this.columnBynavn.MaxLength = 50; > this.columnTlf.MaxLength = 50; > } > > If you redesign the table structure from within Visual Studio, it will > track the changes and adjust the class accordingly. > > It is __so clever__ that I wonder why most are still moving on with SQL > builders, hand built command strings and the like - pure waste of time in > my opinion - except for programmers with special needs and knowledge like > Shamil who knows what he is doing. > > William, I think, will amen this. > > I must admit that because of VS2008 I'm ready to forgive MS much of their > bad doings. > > /gustav > >>>> jwcolby at colbyconsulting.com 29-04-2008 15:53 >>> > I am doing the update thing, updating data back to SQL Server. I have > been updating an ADO recordset in memory and when I try to update it > back to SQL Server it throws an error that the update failed because it > would cause a string value to be truncated. > > How is this possible. I thought that the table structure in memory > mirrored the structure in the data store (SQL Server in this instance). > Doesn't the read of the data out of SQL Service discover the field > size and type and build a similar structure in memory? > > Apparently not, but if not how do I handle a case like this? > -- > John W. Colby > www.ColbyConsulting.com > > > _______________________________________________ > dba-VB mailing list > dba-VB at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/dba-vb > http://www.databaseadvisors.com > >