Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


varför får jag "must declare...."??

Postades av 2003-10-14 13:10:58 - Tobben andersson, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 788 personer

har ett litet problem..

ska göra ett bildupload script och får bara
Must declare the variable '@imgName'
när jag kör mot sql databasen...

koden:
<code>

<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDB" %>
<%@ import Namespace="System.Web.UI.WebControls" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
'<- Databasanslutning ->
Dim myConnection As New OleDbConnection("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=(local);Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=(local);Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=citysidan;")


Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Public Sub UploadBtn_Click(ByVal Sender As System.Object, ByVal E As System.EventArgs)

'<- Hämta all ifyllt data från webbsidan ->
Dim imgStream As Stream = UploadFile.PostedFile.InputStream
Dim imgLen As Integer = UploadFile.PostedFile.ContentLength
Dim imgUploadedName As String = UploadFile.PostedFile.FileName
Dim imgBinaryData(imgLen) As Byte
Dim imgContentType As String = UploadFile.PostedFile.ContentType
Dim imgName_value As String = PictureName.Text
Dim imgDescription_value As String = PictureDescription.Text
Dim imgTime_value As String = DateTime.Now.ToString("G")
Dim imgUploader_value As String = Uploader.Text

'<- Anropar funktionen stringcut för att få fram filtypen ->
Dim ImgType As String = stringcut(imgContentType)

'<- Kolla att vald fil verkligen är en bild ->
If imgLen < 1 Then
lblMessage.Text = "Du måste välja en bild!"
Exit Sub
End If
If ImgType <> "image/" Then
lblMessage.Text = "Vald fil är ej en bild !"
Exit Sub
End If

'<- Kontrollera bildstorleken ->
If imgLen > 100000 Then
lblMessage.Text = "Bilden är för stor!(" & imgLen & " byte) Max är 100000 byte"
Exit Sub
End If

'<- Kontrollera att alla fält är ifyllda ->
If PictureName.Text = "" Then
lblMessage.Text = "Ge ett namn till bilden!"
Exit Sub
ElseIf PictureDescription.Text = "" Then
lblMessage.Text = "Skriv en bildbeskrivning!"
Exit Sub
ElseIf Uploader.Text = "" Then
lblMessage.Text = "Skriv in ditt namn!"
Exit Sub
End If

'<- Filtrera bort ev känsliga tecken ->
imgName_value = imgName_value.Replace("'", "'")
imgName_value = imgName_value.Replace(" ", " ")
imgUploader_value = imgUploader_value.Replace("'", "'")
imgUploader_value = imgUploader_value.Replace(" ", " ")
imgDescription_value = imgDescription_value.Replace("'", "'")
imgDescription_value = imgDescription_value.Replace(" ", " ")

'<- Konverterar "bildströmmen" till en Byte Array
Dim n As Integer = imgStream.Read(imgBinaryData, 0, imgLen)

'<- Anropar funktionen AddPicture för att lägga in datat i databasen ->
Dim NumRowsAffected As Integer = AddPicture(imgName_value, imgDescription_value, imgBinaryData, imgContentType, imgUploader_value, imgTime_value, imgLen.ToString)

'<- Kontrollera om uppladdningen lyckades '>
If NumRowsAffected > 0 Then
lblMessage.Text = "Bilden uppladdad!"
Else
'lblMessage.Text = "Det blev något fel vid uppladdningen av bilden!"
End If

End Sub

Function AddPicture(ByVal imgName As String, ByVal imgDescription As String, ByVal imgbin As Byte(), ByVal imgcontenttype As String, ByVal imguploader As String, ByVal imgtime As String, ByVal imgsize As String) As Integer

Dim myCommand As New OleDb.OleDbCommand("INSERT INTO images (image_name, image_description, image_data, image_type, image_uploader, image_time, image_size) VALUES (@imgName, @imgDescription, @imgbin, @imgcontenttype, @imguploader, @imgtime, @imgsize)", myConnection)
Dim numRowsAffected As Integer

Dim param0 As New OleDbParameter("@img_name", OleDbType.VarChar, 50)
param0.Value = imgName
myCommand.Parameters.Add(param0)

Dim param1 As New OleDbParameter("@img_description", OleDbType.VarChar, 255)
param1.Value = imgDescription
myCommand.Parameters.Add(param1)

Dim param2 As New OleDbParameter("@img_data", OleDbType.Binary)
param2.Value = imgbin
myCommand.Parameters.Add(param2)

Dim param3 As New OleDbParameter("@img_contenttype", OleDbType.VarChar, 50)
param3.Value = imgcontenttype
myCommand.Parameters.Add(param3)

Dim param4 As New OleDbParameter("@img_uploader", OleDbType.VarChar, 50)
param4.Value = imguploader
myCommand.Parameters.Add(param4)

Dim param5 As New OleDbParameter("@img_time", OleDbType.VarChar, 50)
param5.Value = imgtime
myCommand.Parameters.Add(param5)

Dim param6 As New OleDbParameter("@img_size", OleDbType.VarChar, 50)
param6.Value = imgsize
myCommand.Parameters.Add(param6)

Try
myCommand.Connection.Open()
numRowsAffected = myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Catch ex As Exception
lblMessage.Text = ex.Message
Exit Function
End Try

Return numRowsAffected

End Function
Function stringcut(ByVal strArgument As String) As String
Dim sb As New System.Text.StringBuilder(strArgument)
Return (sb.Remove(6, (sb.Length - 6)).ToString)
End Function

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ladda upp bild</title>
</head>
<body>
<form runat="server" enctype="multipart/form-data">
<div align="center">Bilder ska helst vara i gif eller jpg format.
<br> Max storlek 100 kb.
</div>
<br>
<TABLE align="center" cellSpacing="0" cellPadding="1" border="0">
<TR>
<TD align="left">Bild
namn: <br><asp:TextBox MaxLength="40" id="PictureName" runat="server"/>
</TD>
</TR>
<TR>
<TD align="left">Kort bild
beskrivning: <br><asp:TextBox MaxLength="255" id="PictureDescription" runat="server" TextMode="MultiLine"/>
</TD>
</TR>
<TR>
<TD align="left">Ditt
namn: <br><asp:TextBox MaxLength="40" id="Uploader" runat="server"/>
</TD>
</TR>
<TR>
<TD align="left">Välj
bild: <br><INPUT id="UploadFile" type="file" name="UploadFile" runat="server">
</TD>
</TR>
<tr>
<td align="center">

<asp:Button id="UploadBtn" OnClick="UploadBtn_Click" runat="server" Text="Ladda upp"/>&nbsp;
<INPUT type="reset" value="Reset">
</td>
</tr>
</TABLE>
<br>
<div align="center"><asp:label id="lblMessage" runat="server"/></div>
</form>
</body>
</html>

</code>


Svara

Sv: varför får jag "must declare...."??

Postades av 2003-10-14 13:13:51 - Fredrik Normén

Din fråga har @imgName, @imgDescription etc men när du skapar dina parametrar så skriver du @img_name etc

Ändra dessa så det stämmer överrens med de som finns i din fråga.

/Fredrik Normén NSQUARED2
http://www.nsquared2.net


Svara

Sv: varför får jag "must declare...."??

Postades av 2003-10-14 13:56:23 - Tobben andersson

har gjort det nu... men den vill ända att jag ska deklarera.

<code>
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDB" %>
<%@ import Namespace="System.Web.UI.WebControls" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
'<- Databasanslutning ->
Dim myConnection As New OleDbConnection("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=(local);Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=(local);Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=citysidan;")


Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Public Sub UploadBtn_Click(ByVal Sender As System.Object, ByVal E As System.EventArgs)

'<- Hämta all ifyllt data från webbsidan ->
Dim imgStream As Stream = UploadFile.PostedFile.InputStream
Dim imgLen As Integer = UploadFile.PostedFile.ContentLength
Dim imgUploadedName As String = UploadFile.PostedFile.FileName
Dim imgBinaryData(imgLen) As Byte
Dim imgContentType As String = UploadFile.PostedFile.ContentType
Dim imgName_value As String = PictureName.Text
Dim imgDescription_value As String = PictureDescription.Text
Dim imgTime_value As String = DateTime.Now.ToString("G")
Dim imgUploader_value As String = Uploader.Text

'<- Anropar funktionen stringcut för att få fram filtypen ->
Dim ImgType As String = stringcut(imgContentType)

'<- Kolla att vald fil verkligen är en bild ->
If imgLen < 1 Then
lblMessage.Text = "Du måste välja en bild!"
Exit Sub
End If
If ImgType <> "image/" Then
lblMessage.Text = "Vald fil är ej en bild !"
Exit Sub
End If

'<- Kontrollera bildstorleken ->
If imgLen > 100000 Then
lblMessage.Text = "Bilden är för stor!(" & imgLen & " byte) Max är 100000 byte"
Exit Sub
End If

'<- Kontrollera att alla fält är ifyllda ->
If PictureName.Text = "" Then
lblMessage.Text = "Ge ett namn till bilden!"
Exit Sub
ElseIf PictureDescription.Text = "" Then
lblMessage.Text = "Skriv en bildbeskrivning!"
Exit Sub
ElseIf Uploader.Text = "" Then
lblMessage.Text = "Skriv in ditt namn!"
Exit Sub
End If

'<- Filtrera bort ev känsliga tecken ->
imgName_value = imgName_value.Replace("'", "'")
imgName_value = imgName_value.Replace(" ", " ")
imgUploader_value = imgUploader_value.Replace("'", "'")
imgUploader_value = imgUploader_value.Replace(" ", " ")
imgDescription_value = imgDescription_value.Replace("'", "'")
imgDescription_value = imgDescription_value.Replace(" ", " ")

'<- Konverterar "bildströmmen" till en Byte Array
Dim n As Integer = imgStream.Read(imgBinaryData, 0, imgLen)

'<- Anropar funktionen AddPicture för att lägga in datat i databasen ->
Dim NumRowsAffected As Integer = AddPicture(imgName_value, imgDescription_value, imgBinaryData, imgContentType, imgUploader_value, imgTime_value, imgLen.ToString)

'<- Kontrollera om uppladdningen lyckades '>
If NumRowsAffected > 0 Then
lblMessage.Text = "Bilden uppladdad!"
Else
'lblMessage.Text = "Det blev något fel vid uppladdningen av bilden!"
End If

End Sub

Function AddPicture(ByVal imgName As String, ByVal imgDescription As String, ByVal imgBin As Byte(), ByVal imgContentType As String, ByVal imgUploader As String, ByVal imgTime As String, ByVal imgSize As String) As Integer

Dim myCommand As New OleDb.OleDbCommand("INSERT INTO images (image_name, image_description, image_data, image_type, image_uploader, image_time, image_size) VALUES (@imgName, @imgDescription, @imgBin, @imgContentType, @imgUploader, @imgTime, @imgSize)", myConnection)
Dim numRowsAffected As Integer

Dim param0 As New OleDbParameter("@imgName", OleDbType.VarChar, 50)
param0.Value = imgName
myCommand.Parameters.Add(param0)

Dim param1 As New OleDbParameter("@imgDescription", OleDbType.VarChar, 255)
param1.Value = imgDescription
myCommand.Parameters.Add(param1)

Dim param2 As New OleDbParameter("@imgData", OleDbType.Binary)
param2.Value = imgBin
myCommand.Parameters.Add(param2)

Dim param3 As New OleDbParameter("@imgContentType", OleDbType.VarChar, 50)
param3.Value = imgContentType
myCommand.Parameters.Add(param3)

Dim param4 As New OleDbParameter("@imgUploader", OleDbType.VarChar, 50)
param4.Value = imgUploader
myCommand.Parameters.Add(param4)

Dim param5 As New OleDbParameter("@imgTime", OleDbType.VarChar, 50)
param5.Value = imgTime
myCommand.Parameters.Add(param5)

Dim param6 As New OleDbParameter("@imgSize", OleDbType.VarChar, 50)
param6.Value = imgSize
myCommand.Parameters.Add(param6)

Try
myCommand.Connection.Open()
numRowsAffected = myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Catch ex As Exception
lblMessage.Text = ex.Message
Exit Function
End Try

Return numRowsAffected

End Function
Function stringcut(ByVal strArgument As String) As String
Dim sb As New System.Text.StringBuilder(strArgument)
Return (sb.Remove(6, (sb.Length - 6)).ToString)
End Function

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ladda upp bild</title>
</head>
<body>
<form runat="server" enctype="multipart/form-data">
<div align="center">Bilder ska helst vara i gif eller jpg format.
<br> Max storlek 100 kb.
</div>
<br>
<TABLE align="center" cellSpacing="0" cellPadding="1" border="0">
<TR>
<TD align="left">Bild
namn: <br><asp:TextBox MaxLength="40" id="PictureName" runat="server"/>
</TD>
</TR>
<TR>
<TD align="left">Kort bild
beskrivning: <br><asp:TextBox MaxLength="255" id="PictureDescription" runat="server" TextMode="MultiLine"/>
</TD>
</TR>
<TR>
<TD align="left">Ditt
namn: <br><asp:TextBox MaxLength="40" id="Uploader" runat="server"/>
</TD>
</TR>
<TR>
<TD align="left">Välj
bild: <br><INPUT id="UploadFile" type="file" name="UploadFile" runat="server">
</TD>
</TR>
<tr>
<td align="center">
<asp:Button id="UploadBtn" OnClick="UploadBtn_Click" runat="server" Text="Ladda upp"/>&nbsp;
<INPUT type="reset" value="Reset">
</td>
</tr>
</TABLE>
<br>
<div align="center"><asp:label id="lblMessage" runat="server"/></div>
</form>
</body>
</html>
</code>


Svara

Sv: varför får jag "must declare...."??

Postades av 2003-10-14 14:10:23 - Fredrik Normén

Aha, du kör med OleDb ser jag nu. Ersätta alla dina parametrar i frågan till enbart "?" alltså:

VALUES ( ?,?,?,? ..... )

Men låt dina andra parametrar vara kvar som dom är. Se bara till att dom läggs till i samma ordning som du har definerat VALUES i din fråga.

OLE DB .Net providers använder ? istället för parametrar med namn.

/Fredrik Normén NSQUARED2
http://www.nsquared2.net


Svara

Sv: varför får jag "must declare...."??

Postades av 2003-10-14 14:29:37 - Tobben andersson

Ett oehört stort tack fredde!!!
Hyvens!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
864
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies