ASP.Net

saar85

New member
ASP.Net

שלום. התחלתי קצת ללמוד ASP.Net... צריך מתישהוא להתקדם בחיים לא? בקיצור למדתי איך למשוך נתונים מDB בעזרת Repeater בצורה הזו:
<%@ Page Language="VB" Debug="true" %> <%@ Import Namespace =system %> <%@ Import Namespace =system.data %> <%@ Import Namespace =system.data.oledb %> <script runat =server > Sub page_load(ByVal obj As Object, ByVal e As EventArgs) Dim conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("db.mdb")) Dim cmd As New OleDbDataAdapter("Select Top 2 * from users", conn) Dim ds1 As DataSet = New DataSet() cmd.Fill(ds1, "users") rep1.DataSource = ds1 rep1.DataBind() End Sub </script> <center> <asp:Repeater runat =server ID=rep1> <HeaderTemplate> <table border=0 width=300 cellspacing=0 cellpadding=0> <tr> <td width=100>User_ID</td> <td width=100>UserName</td> <td width=100>Password</td> </tr> </HeaderTemplate> <ItemTemplate > <tr> <td width=100>#Container.DataItem("User_ID")%></td> <td width=100><%#Container.DataItem("username")%></td> <td width=100><%#Container.DataItem("Password")%></td> </tr> </ItemTemplate> <SeparatorTemplate> <tr height=10> <td width=300 colspan=3> </tr> </SeparatorTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>​
עכשיו השאלה שלי זה איך אני מעדכן/מוחק/מוסיף רשומות? אני חייב לציין שאין לי כ"כ מושג בASP.Net רק היום התחלתי ללמוד את זה.. קראתי באתר Webmaster.org.il על עוד דרכים להיכנס לDB וגם לעדכן אותו אבל לא ממש הבנתי את זה. אם מישהו מוכן להסביר לי איך עושים את שלושת הפעולות האלה אודה לו מאוד.
 

J u n k y

New member
אלמנטרי, ווטסון

Dim conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath("db.mdb")) Dim comm As OleDbCommand comm = conn.CreateCommand() comm.CommandText = "UPDATE users SET ...שקר כלשהו..." comm.ExecuteNonQuery()​
תסלח לי אם הסינטקטס לא מדויק, אני לא כזה שוחה ב - VB...
 

saar85

New member
אין אפשרות לעדכן

או להוסיף רשומה דרך ADO? הכוונה כמו שבASP3 עושים:
Set Cn = Server.CreateObject("ADODB.Connection") Set Rs = Server.CreateObject("ADODB.RecordSet") Cn.Open (Connection String) SQL = "Select * From Table" Rs.Open SQL, Cn, 3, 3 Rs.AddNew Rs("name") = Request("name") Rs.Update ...​
וכן הלאה מה השיטה של ADO ב ASP.NET?
 

mnmaster

New member
יש. עם ה CommandBuilder

מומלץ בעיקר כשאתה עובד עם הרבה שדות.
 

saar85

New member
אתה יכול לתת לי דוגמה

איך אני מוחק/מעדכן/מוסיף רשומה/ות
 

mnmaster

New member
הנה

אני לא מומחה, אבל ככה אני עושה וזה עובד לי: בהנחה שיש לך dataset, אתה צריך להוסיף שורה חדשה לטבלה השורה הבאה תיצור שורה חדשה (שאינה מקושרת לכלום)
DataRow row = Ds.Tables["table"].NewRow();​
אחר כך אתה ממלא את השדות של השורה, ממש כמו שאתה רגיל מ ASP למשל:
row ["field"] = parameter;​
השורה הבאה תקשר בין השורה לטבלה:
Ds.Tables["table"].Rows.Add(row);​
עכשיו צריך להשתמש ב CommanBuilder. השורה הזו בונה command ומקשרת אותו ל adapter שלך
OleDbCommandBuilder CmBuild2 = new OleDbCommandBuilder(theAdapter);​
עכשיו צריך לעדכן את הד"ב
theAdapter.Update(Ds, "table");​
אם יש לך שאלות, אתה מוזמן
 
למעלה