De volgende situatie doet zich voor:
We hebben een webform die data moet wegschrijven naar een SQL 2000 server.
Alles lijkt goed te gaan en we krijgen ook geen Error, maar als je vervolgens in de tabel gaat kijken via de SQL enterprise manager zie je niets...
de private sub uit de codebehind:
Ik weet dat hier meer strings gedeclareerd worden als dat er worden weggeschreven.
de Stored procedure uit de sql server:
de veldnamen in de tabel zijn: gebruikersnaam, datum_tijd, user_ip
er zijn meer velden maar deze 3 moeten in eerste instantie gewoon weggeschreven worden.
wat doen wij fout ?
We hebben een webform die data moet wegschrijven naar een SQL 2000 server.
Alles lijkt goed te gaan en we krijgen ook geen Error, maar als je vervolgens in de tabel gaat kijken via de SQL enterprise manager zie je niets...
de private sub uit de codebehind:
Ik weet dat hier meer strings gedeclareerd worden als dat er worden weggeschreven.
Visual Basic:
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
36
37
38
39
40
41
| Private Sub SubmitStap1_ServerClick(ByVal aantal1 As String, ByVal soort1 As String, ByVal groep1 As String, ByVal omschrijving1 As String, ByVal gewicht1 As String, ByVal l1 As String, ByVal b1 As String, ByVal h1 As String, ByVal aantal2 As String, ByVal soort2 As String, ByVal groep2 As String, ByVal omschrijving2 As String, ByVal gewicht2 As String, ByVal l2 As String, ByVal b2 As String, ByVal h2 As String, ByVal aantal3 As String, ByVal soort3 As String, ByVal groep3 As String, ByVal omschrijving3 As String, ByVal gewicht3 As String, ByVal l3 As String, ByVal b3 As String, ByVal h3 As String) If Page.IsValid = True Then Dim txtdatum As String = DateTime.Now Dim txtmillisec As String = DateTime.Now.Millisecond Dim txtdatumtijd As String = txtdatum + txtmillisec Dim txtgebruikersnaam As String = Context.User.Identity.Name Dim txtuserip As String = HttpContext.Current.Request.UserHostAddress ' Haal ConnectionString uit web.config <appsettings> en stop deze in SqlConn String Dim SqlConn As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString")) ' Maak SQL Commando object en stop deze in SqlCmd string Dim SqlCmd As New SqlCommand("sp_AddStap1test", SqlConn) ' Geef aan wat voor SQL Commando je wilt uitvoeren ' In dit geval een Stored Procedure SqlCmd.CommandType = CommandType.StoredProcedure ' Koppel de velden van het formulier aan de sql velden SqlCmd.Parameters.Add(New SqlParameter("@gebruikersnaam", SqlDbType.VarChar, 50)) SqlCmd.Parameters("@txtgebruikersnaam").Value = txtgebruikersnaam SqlCmd.Parameters.Add(New SqlParameter("@datumtijd", SqlDbType.VarChar, 50)) SqlCmd.Parameters("@txtdatumtijd").Value = txtdatumtijd SqlCmd.Parameters.Add(New SqlParameter("@txtuserip", SqlDbType.VarChar, 15)) SqlCmd.Parameters("@txtuserip").Value = txtuserip SqlCmd.Connection.Open() Try SqlCmd.ExecuteNonQuery() Catch ex As Exception SQLERROR.Text = "Fout met schrijven naar de database" End Try End If End Sub |
de Stored procedure uit de sql server:
de veldnamen in de tabel zijn: gebruikersnaam, datum_tijd, user_ip
er zijn meer velden maar deze 3 moeten in eerste instantie gewoon weggeschreven worden.
code:
1
2
3
4
5
6
| CREATE procedure dbo.sp_AddStap1test @txtgebruikersnaam varchar, @txtdatumtijd varchar, @txtuserip varchar as insert into tbl_orderaanmaak (gebruikersnaam, datum_tijd, user_ip) values (@txtgebruikersnaam, @txtdatumtijd, @txtuserip) GO |
wat doen wij fout ?
[ Voor 3% gewijzigd door Plopeye op 29-11-2005 10:24 ]
Unix is user friendly, it's only selective about his friends.....