Frage : Ein vorhandenes DB neu entwerfend - vom Papier abfahren?

wenn Sie zur Neukonstruktion ein vorhandenes DB sind, wurde es anfängt, die neuen Tabellen herzustellen und spielt mit ihm (addieren,/entfernen usw.), auf einer neuen Datenbank, oder wurde Sie beginnen mit Bleistift und paper.

any allgemeinen Spitzen auf diesem? - wann ist zu gehen angebracht, direkt zur Schaffung einer Datenbank und spielend direkt mit der Implementierung vom logischen in das körperliche design.

when, benutzen Sie Werkzeuge der 3. Partei?

thanks

Antwort : Ein vorhandenes DB neu entwerfend - vom Papier abfahren?

Da ich Ihren Code überprüft und fand, dass Sie Ihre Funktion „PopulateCatalogueItems benennen (); “ im sonst Teil der Page.IsPostBack Klausel im Seiten-Lasts-Ereignis. So ist dieses die Funktion, die Ihr gridview wieder mit der Datenquelle bindet und den Text von Ihrem area per informazionifreien raum bildet.

Diese Funktion vom sonst Fach so freundlich entfernen.
Sie können meinen Code heraus überprüfen, der fast Ihr Code ist, aber ihave einiges änderte, wo Sie Netzservice benennen. ASPX Seite ist selbe ab Ihren.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
CODE NACH: 

statisches DataTable Papierlösekorotron = Null;
    statisches langes itemcategory;
    statisches Schnur qtyText;

    geschütztes leeres Page_Load (Gegenstandabsender, EventArgs e)
    {
        wenn (! Page.IsPostBack)
        {

            PopulateDropdown ();

            PopulateCatalogueItems ();

            wenn (Lernabschnitt [„dtItems“] == Null)
            {

                Lernabschnitt [„Gegen“] = 0;  // verwendete, um den Wert „Identifikation-“ Datatable zu erhöhen

                Papierlösekorotron = neues DataTable ();

                Papierlösekorotron. Columns.Add („Identifikation“);
                Papierlösekorotron. Columns.Add („Menge“);
                Papierlösekorotron. Columns.Add („Desc“);
                Papierlösekorotron. Columns.Add („UOI“);
                Papierlösekorotron. Columns.Add („Einzelteil“);

                ItemInOrder.DataSource = Papierlösekorotron;
                ItemInOrder.DataBind ();

                lblItemsInOrder.Text = „0“;

                Lernabschnitt [„OrderedItems“] = Schnur. Leer;
            }
            sonst
            {

                Lernabschnitt [„OrderedItems“] = Lernabschnitt [„dtItems“];

                ItemInOrder.DataSource = Papierlösekorotron;

                ItemInOrder.DataBind ();

                int @counter = Convert.ToInt32 (ItemInOrder.Rows.Count);
                lblItemsInOrder.Text = @counter.ToString ();

                wenn (@counter > 0)
                {
                    lnkCheckOutButton.Visible = ausrichten en;
                }
            }

        }
        sonst
        {
            PopulateCatalogueItems ();
        }

    }

    geschütztes leeres PopulateDropdown ()
    {

        Service //-SNPWebservice2.SNPWebservice = neues SNPWebservice2.SNPWebservice ();

        Datensatz dsFromSOAP = neuer Datensatz ();
        DataTable tableFromSOAP = neues DataTable ();
        tableFromSOAP.Columns.Add („Kategorie“);
        tableFromSOAP.Columns.Add („CategoryId“);
        DataRow rowTemp;

        rowTemp = tableFromSOAP.NewRow ();
        rowTemp [„Kategorie“] = „ALLE EINZELTEILE“;
        rowTemp [„CategoryId“] = „1“;
        tableFromSOAP.Rows.Add (rowTemp);
        tableFromSOAP.AcceptChanges ();

        rowTemp = tableFromSOAP.NewRow ();
        rowTemp [„Kategorie“] = „anmeldet“ ";
        rowTemp [„CategoryId“] = „5“;
        tableFromSOAP.Rows.Add (rowTemp);
        tableFromSOAP.AcceptChanges ();

        dsFromSOAP.Tables.Add (tableFromSOAP);
        dsFromSOAP.AcceptChanges ();

        // dsFromSOAP = service.ListDSCategory ();

        foreach (DataRow dataRow in dsFromSOAP.Tables [0]. Reihen)
        {

            Kategorie = dataRow [„Kategorie“] .ToString aufreihen ();

            wenn (Kategorie! = „newcat“)
            {
                wenn (Kategorie! = „Nicht-Vorrat Einzelteile“)

                    ddlCategory.Items.Add (Kategorie);
            }

        }

        dsFromSOAP.Dispose ();

        //int noTestsInDataset = dsFromSOAP.Tables [0]. Rows.Count;

    }

    geschütztes leeres PopulateCatalogueItems ()
    {

        Schnur _ddlCategory = ddlCategory.Text;

        wenn (_ddlCategory == „ALLE EINZELTEILE“)
        {
            GetAllCatalogueItems ();
        }
        sonst
        {

            wenn (_ddlCategory! = „newcat“)
            {

                wenn (_ddlCategory! = „- auserwählte Kategorie -“)
                {

                    GetCatalogueItems (_ddlCategory);

                }
            }
        }

    }

    geschütztes leeres GetAllCatalogueItems ()
    {

        Service //-SNPWebservice2.SNPWebservice = neues SNPWebservice2.SNPWebservice ();

        Datensatz dsFromSOAP = neuer Datensatz ();
        DataTable tableFromSOAP = neues DataTable ();
        tableFromSOAP.Columns.Add („Kategorie“);
        tableFromSOAP.Columns.Add („Identifikation“);
        DataRow rowTemp;

        rowTemp = tableFromSOAP.NewRow ();
        rowTemp [„Kategorie“] = „Katalog 1“;
        rowTemp [„Identifikation“] = „1“;
        tableFromSOAP.Rows.Add (rowTemp);
        tableFromSOAP.AcceptChanges ();

        rowTemp = tableFromSOAP.NewRow ();
        rowTemp [„Kategorie“] = „Katalog 2“;
        rowTemp [„Identifikation“] = „5“;
        tableFromSOAP.Rows.Add (rowTemp);
        tableFromSOAP.AcceptChanges ();

        dsFromSOAP.Tables.Add (tableFromSOAP);
        dsFromSOAP.AcceptChanges ();
        
        // dsFromSOAP = service.ListAllDSCatalogue ();

        int noTestsInDataset = dsFromSOAP.Tables [0]. Rows.Count;

        gvCatalogueItems.DataSource = dsFromSOAP;

        gvCatalogueItems.DataBind ();

    }

    geschütztes leeres GetCatalogueItems (Schnur _category)
    {

        schalten (_category)
        {
            „Autoklavprüfung umkleiden - Sterilisation dämpfen“:
                itemcategory = 3;
                Bruch;
            Fall „Blut-Ansammlung“:
                itemcategory = 4;
                Bruch;
            Fall „anmeldet“ ":
                itemcategory = 5;
                Bruch;
            Fall „Broschüren“:
                itemcategory = 6;
                Bruch;
            Fall „Nachricht/Test-Ansagen“:
                itemcategory = 7;
                Bruch;
            Fall „Klinik-Informationen“:
                itemcategory = 8;
                Bruch;
            Fall „Ansammlung merkt“:
                itemcategory = 9;
                Bruch;
            Fall „Richtungsdiagramme“:
                itemcategory = 10;
                Bruch;
            Fall „Exkrementeansammlung“:
                itemcategory = 11;
                Bruch;
            Fall „General“:
                itemcategory = 12;
                Bruch;
            „gynäkologische und cytologische Ansammlung“ des Falles:
                itemcategory = 13;
                Bruch;
            Fall „Gewebelehre und Hautpathologie“:
                itemcategory = 14;
                Bruch;
            Fall „Mikrobiologieansammlung“:
                itemcategory = 15;
                Bruch;
            Fall „Nicht-Vorrat Einzelteile“:
                itemcategory = 16;
                Bruch;
            Fall „Antrag bildet“:
                itemcategory = 17;
                Bruch;
            Fall „Briefpapier“:
                itemcategory = 18;
                Bruch;
            Fall „Urinansammlung“:
                itemcategory = 19;
                Bruch;
            //case „ALLE EINZELTEILE“:
            //    itemcategory = 2;
            //-    Bruch;
            Rückstellung:
                itemcategory = 0;
                Bruch;
        }

        Service //-SNPWebservice2.SNPWebservice = neues SNPWebservice2.SNPWebservice ();

        Datensatz dsFromSOAP = neuer Datensatz ();

        // dsFromSOAP = service.ListDSCatalogue (zutreffend, zutreffend, itemcategory, zutreffend);

        int noTestsInDataset = dsFromSOAP.Tables [0]. Rows.Count;

        gvCatalogueItems.DataSource = dsFromSOAP;

        gvCatalogueItems.DataBind ();

    }

    geschütztes leeres ItemInOrder_RowDeleting (Gegenstandabsender, GridViewDeleteEventArgs e)
    {

        GridViewRow deletedItem = ItemInOrder.Rows [e.RowIndex];
        lblDeleted.Text = lblDeleted.Text + „Einzelteil gelöscht“ + deletedItem.Cells [5]. Text + „-“ + deletedItem.Cells [3]. Text + „
„; Papierlösekorotron. Reihen [e.RowIndex]. Löschung (); int @counter = Convert.ToInt32 (Lernabschnitt [„Gegen“]) - 1; Lernabschnitt [„Gegen“] = @counter; lblItemsInOrder.Text = @counter.ToString () + „- Einzelteil gelöscht“; Server.HtmlEncode (lblItemsInOrder.Text); ItemInOrder.DataSource = Papierlösekorotron; ItemInOrder.DataBind (); int @counter1 = Convert.ToInt32 (Lernabschnitt [„Gegen“]); wenn (@counter1 < 1=""> maxOrderQty) // { // Response.Write („"); //- Rückkehr; // } //} //catch // { // Response.Write („"); //- Rückkehr; //} //DataRowdr. = dt.NewRow (); //int @counter = Convert.ToInt32 (Lernabschnitt [„Gegen“]) + 1; //dr [„Identifikation“] = @counter; //dr [„Menge“] = qtyText; //dr [„Desc“] = Reihe. Zellen [3]. Text; //dr [„UOI“] = Reihe. Zellen [4]. Text; //dr [„Einzelteil“] = Reihe. Zellen [9]. Text; //dt.Rows.Add (Dr.); //ItemInOrder.DataSource = Papierlösekorotron; //ItemInOrder.DataBind (); //Session [„Gegen“] = @counter; //Session [„OrderedItems“] = Lernabschnitt [„OrderedItems“] +“ „+ qtyText +“ „+ //- Reihe. Zellen [3]. Text + „„+ Reihe. Zellen [4]. Text +“ „+ Reihe. Zellen [5]. Text +“
„; //lblItemsInOrder.Text = @counter.ToString () + „, letztes Einzelteil -“ + Reihe. Zellen [4]. Text; //Server.HtmlEncode (lblItemsInOrder.Text); //lnkCheckOutButton.Visible = ausrichten en; } } geschütztes leeres btnSelect_Click (Gegenstandabsender, EventArgs e) { LinkButton btnSelect = Absender als LinkButton; GridViewRow gvr = btnSelect.NamingContainer als GridViewRow; Schnur _imageURL = Schnur. Concat („picpage.aspx? imageURL=“, gvCatalogueItems.DataKeys [gvr.RowIndex] [„Item_Image“] .ToString ()); winFeatures aufreihen = „toolbar=no, status=no, menubar=no, location=center, scrollbars=yes, resizable=yes, height=300, width=400“; ClientScript.RegisterStartupScript (this.GetType (), „newWindow“, String.Format (“„, _imageURL, winFeatures)); } geschütztes leeres lnkCheckOut_Click (Gegenstandabsender, EventArgs e) { Lernabschnitt [„dtItems“] = Papierlösekorotron; Response.Redirect („OrderSummary.aspx“); } privates leeres CreateOrder () { Schnur username = Request.QueryString [„username“]; ////Define-Datenobjekte //SqlConnectionanschl.; //SqlCommand comm; ////Read die Anschlussschnur von web.config connectionString //string = // ConfigurationManager.ConnectionStrings [ // „docstoresConnectionString“] .ConnectionString; //foreach (DataRow Reihe in Papierlösekorotron. Reihen) // { Anschluss //-//Initialize // Anschl. = neues SqlConnection (connectionString); Befehl //-//Create // comm = neues SqlCommand ( // „EINSATZ IN WebOrders (username, Menge, Beschreibung, UOI, ItemNo)“ + // „BEWERTET (@Username, @Qty, @Description, @UOI, @ItemNo)“, Anschl.); // comm. Parameters.Add („@Username“, SqlDbType.NVarChar); // comm. Parameter [„@Username“]. Wert = username; // comm. Parameters.Add („@Qty“, SqlDbType.Int); // comm. Parameter [„@Qty“]. Wert = (Schnur) Reihe [„Menge“]; // comm. Parameters.Add („@Description“, SqlDbType.NVarChar); // comm. Parameter [„@Description“]. Wert = (Schnur) Reihe [„Desc“]; // comm. Parameters.Add („@UOI“, SqlDbType.NVarChar); // comm. Parameter [„@UOI“]. Wert = (Schnur) Reihe [„UOI“]; // comm. Parameters.Add („@ItemNo“, SqlDbType.VarChar); // comm. Parameter [„@ItemNo“]. Wert = (Schnur) Reihe [„Einzelteil“]; // // einschließen Datenbankcode in Versuchen-Verfangen-Abschließend en //- Versuch // { // // öffnen den Anschluss // anschl. Öffnen (); // // durchführen den Befehl ren // comm.ExecuteNonQuery (); // } // schließlich // { Abschluss //-// der Anschluss // anschl. Abschluss (); // } //} Schnur redirectURL = „OrderSummary.aspx? OrderSubmitted=OK&UserName=“ + username; //Response.Redirect (redirectURL); } geschütztes leeres ItemsInOrder_RowDataBound (Gegenstand s, GridViewRowEventArgs e) { //-Fell die Überschrift der am weitesten links liegenden Spalte. //if (e.Row.RowType == DataControlRowType.Header) // { // e.Row.Cells [6]. Sichtbar = falsch; // e.Row.Cells [8]. Sichtbar = falsch; // e.Row.Cells [9]. Sichtbar = falsch; //} ////-Fell die am weitesten links liegende Spalte der Datenfolge. //if (e.Row.RowType == DataControlRowType.DataRow) // { //- Schnur imagetext = e.Row.Cells [5]. Text.Trim (); // wenn (imagetext. Enthalten („.jpg“)) // { // e.Row.Cells [5]. Text = „Bild“; // } // e.Row.Cells [6]. Sichtbar = falsch; // e.Row.Cells [8]. Sichtbar = falsch; // e.Row.Cells [9]. Sichtbar = falsch; //} } geschütztes leeres CatalogueItems_RowDataBound (Gegenstand s, GridViewRowEventArgs e) { //-Fell die Überschrift der am weitesten links liegenden Spalte. //if (e.Row.RowType == DataControlRowType.Header) // { // e.Row.Cells [3]. Text = „Einzelteil“; // e.Row.Cells [4]. Text = „UOI“; // e.Row.Cells [5]. Text = „Bild“; // e.Row.Cells [7]. Text = „maximale Menge“; // e.Row.Cells [2]. Sichtbar = falsch; // e.Row.Cells [6]. Sichtbar = falsch; // e.Row.Cells [8]. Sichtbar = falsch; // e.Row.Cells [9]. Sichtbar = falsch; // e.Row.Cells [10]. Sichtbar = falsch; //} //////-Fell die am weitesten links liegende Spalte der Datenfolge. //if (e.Row.RowType == DataControlRowType.DataRow) // { // CheckBox isActive = (CheckBox) e.Row.Cells [6]. Kontrollen [0]; //, wenn (isActive.Checked) // { //- Schnur imagetext = e.Row.Cells [5]. Text.Trim (); // wenn (imagetext. Enthalten („.jpg“)) // { // e.Row.Cells [5]. Text = @ " Bild "; // } // e.Row.Cells [2]. Sichtbar = falsch; // e.Row.Cells [6]. Sichtbar = falsch; // e.Row.Cells [8]. Sichtbar = falsch; // e.Row.Cells [9]. Sichtbar = falsch; // e.Row.Cells [10]. Sichtbar = falsch; // } // sonst // { // für (int I = 0; I < 10="">
Weitere Lösungen  
 
programming4us programming4us