15. december 2007 - 14:51Der er
14 kommentarer og 1 løsning
Insert data fra .net platform
Hej, jeg jeg har siddet og bakset med et database i .net platformen.. nu har jeg fået det til at virke så jeg kan læse fra min database og udskrive det på siden.
Jeg har nu lavet en textbox1 og en button1, jeg vil gerne kunne skrive fx. i textboxt1 "palle" og trykke på button1, derefter skulle den kunne skrive til databasen og laven en ny bruger der hedder palle.
i min database har jeg en tabel der hedder 'profil' og i den har jeg en post; 'pnavn' som er profilnavn.
sub Page_Load dim dbconn,sql,dbcomm,dbread dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & server.mappath("db.mdb")) dbconn.Open() sql="SELECT * FROM profil" dbcomm=New OleDbCommand(sql,dbconn) dbread=dbcomm.ExecuteReader() customers.DataSource=dbread customers.DataBind() dbread.Close() dbconn.Close() end sub
Spørgsmålet var nok bedre stillet i ASP.NET kategorien ...
Her er et simpelt eksmepel uden beskyttelse mod SQL injection eller andre finesser:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <script language="VB" runat="server"> Private Sub LoadData Dim con As SqlConnection = New SqlConnection ("server=ARNEPC3;Integrated Security=SSPI;database=Test") con.Open Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM T1", con) Dim ds As DataSet = New DataSet("T1") da.Fill(ds) MyDataList.DataSource = ds MyDataList.DataBind con.Close End Sub Private Sub Page_Load(src As Object, e As EventArgs) Call LoadData End Sub Private Sub Save_Click(src As Object, e As EventArgs) Dim con As SqlConnection = New SqlConnection("server=ARNEPC3;Integrated Security=SSPI;database=Test") con.Open Dim ins As SqlCommand = New SqlCommand("INSERT INTO T1 VALUES(" & f1.Text & ",'" & f2.Text & "')", con) ins.ExecuteNonQuery con.Close Call LoadData End Sub </script> <form runat=server> Current data: <table border> <tr> <th>F1</th> <th>F2</th> </tr> <asp:Repeater id="MyDataList" runat="server"> <ItemTemplate> <tr> <td><%# DataBinder.Eval(Container.DataItem,"F1") %></td> <td><%# DataBinder.Eval(Container.DataItem,"F2") %></td> </tr> </ItemTemplate> </asp:Repeater> </table> Add row: <br/> F1: <asp:TextBox id="F1" runat="server"/> <br/> F2: <asp:TextBox id="F2" runat="server"/> <br/> <asp:Button id="SaveBtn" Text="Save" OnClick="Save_Click" runat="server"/> </form>
Dim myCommand as New OleDbCommand(strSQL, myConnection) Dim da As New OleDb.OleDbDataAdapter da.InsertCommand = myCommand da.InsertCommand.ExecuteNonQuery() ClearForm() End Sub
Sub GetConnection() myConnection = New OleDbConnection(strConnectionString) myConnection.Open End Sub
Jeg har dog lige nogle problemer, når jeg uploader siden 'opret_profil.aspx' til min surftown domæne, viser den ikke mine TextBox'e eller min Button1 til at afsende. Jeg har .net i min pakke på webhotellet, og det virker fint når jeg tester den i Web Matrix på min pc... hvorfor kan jeg ikke se den online?
Og så har jeg lavet et billede, som jeg gerne vil have til at være knappen istedet for en button1.. sådan her ser koden ud for min button1: <asp:Button id="addclient" onclick="AddNewClient" runat="server" Text="Add Client"></asp:Button>
Hvordan gør jeg, så mit 'image1.jpg' kan fungere som knap?
Koden ser ud som den jeg lige har postet. Der kommer ingen fejl på hverken Web matrix når jeg tester den der, eller på mit webhotel.. men når jeg kører den på webhotellet, så viser den hverken textboxe eller button's.. :(
Hvordan tjekker jeg om det er samme version på webhotellet? Kan se at Web Matrix programmet er version: 2.0.50727.1433 Har det noget med det at gøre?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.