Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Compilation error - Parameterized update

Reply
Thread Tools

Compilation error - Parameterized update

 
 
dancer
Guest
Posts: n/a
 
      08-03-2007
Using Asp.net 1.1
Can somebody tell me why the code following gives this error message:

Compilation Error
Description: An error occurred during the compilation of a resource required
to service this request. Please review the following specific error details
and modify your source code appropriately.

Compiler Error Message: BC30456: 'String' is not a member of
'System.Data.OleDb.OleDbType'.

Source Error:


Line 21: Dim TheNotifyDate as string = NotifyDate.Text
Line 22:
Line 23: Dim parameterTheEmpName as OleDbParameter = new
OleDbParameter("@TheEmpName", OleDbType.String)
Line 24:
Line 25: Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")


<%@ Page Language="VB" Debug="true" %>

<%@ Import Namespace="System.Data.Oledb" %>



<script language= "VB" runat="server">

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

Sub btnSendDatabase_OnClick(Source As Object, E As EventArgs)


Dim DBConnection As OledbConnection

DBConnection = New OledbConnection("Provider=Microsoft.Jet.Oledb.4.0; " & _

"Data Source=C:\Inetpub\wwwroot\Acc.mdb" )

DBConnection.Open()

Dim DBCommand As OledbCommand

DBCommand = New OledbCommand("SELECT * FROM table1, Acc")

Dim SQLString AS String


Dim TheEmpName as String = EmpName.Text

Dim TheDateOfAccident as string = DateOfAccident.Text

Dim TheNotifyDate as string = NotifyDate.Text

Dim parameterTheEmpName as OleDbParameter = new
OleDbParameter("@TheEmpName", OleDbType.String)

Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")




SQLString = "INSERT INTO Table1(TheEmpName, TheDate,
TheNotifyDate)VALUES(@TheEmpName,@TheDateOfAcciden t,@TheNotifyDate)"

DBCommand = New OleDBCommand(SQLString, DBConnection)

DBCommand.ExecuteNonquery()

Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")

Dim Cmd as New OleDbCommand(SQLString, DBConnection)

With cmd.Parameters:

..Add(New OleDbParameter("@TheEmpName", EmpName.Text))

..Add(New OleDbParameter("@TheDateOfAccident", DateOfAccident.Text))

..Add(New OleDbParameter("@TheNotifyDate", NotifyDate.Text))

end With


DBConnection.Close()

Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")



End Sub

</script>

</head>

<body>

<form id="form1" runat="server">



Employee's Name: <asp:textbox id="EmpName" runat=server columns="45"/>

<asp:textbox id="DateofAccident" runat=server /></asp:textbox>

<font face="Verdana" Size="2">Date Employer Notified <asp:textbox
id="Notifydate" runat=server/>

<asp:Button id="btnSendDatabase" text="Submit"
OnClick="btnSendDatabase_OnClick" runat="server" />


</form>

</body>

</html>














 
Reply With Quote
 
 
 
 
Eliyahu Goldin
Guest
Posts: n/a
 
      08-03-2007
Change to

OleDbType.VarChar

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin


"dancer" <(E-Mail Removed)> wrote in message
news:OV4PN$(E-Mail Removed)...
> Using Asp.net 1.1
> Can somebody tell me why the code following gives this error message:
>
> Compilation Error
> Description: An error occurred during the compilation of a resource

required
> to service this request. Please review the following specific error

details
> and modify your source code appropriately.
>
> Compiler Error Message: BC30456: 'String' is not a member of
> 'System.Data.OleDb.OleDbType'.
>
> Source Error:
>
>
> Line 21: Dim TheNotifyDate as string = NotifyDate.Text
> Line 22:
> Line 23: Dim parameterTheEmpName as OleDbParameter = new
> OleDbParameter("@TheEmpName", OleDbType.String)
> Line 24:
> Line 25: Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>
>
> <%@ Page Language="VB" Debug="true" %>
>
> <%@ Import Namespace="System.Data.Oledb" %>
>
>
>
> <script language= "VB" runat="server">
>
> 'Protected Sub Page_Load(ByVal sender As Object, ByVal e As
> System.EventArgs)
>
> Sub btnSendDatabase_OnClick(Source As Object, E As EventArgs)
>
>
> Dim DBConnection As OledbConnection
>
> DBConnection = New OledbConnection("Provider=Microsoft.Jet.Oledb.4.0; " & _
>
> "Data Source=C:\Inetpub\wwwroot\Acc.mdb" )
>
> DBConnection.Open()
>
> Dim DBCommand As OledbCommand
>
> DBCommand = New OledbCommand("SELECT * FROM table1, Acc")
>
> Dim SQLString AS String
>
>
> Dim TheEmpName as String = EmpName.Text
>
> Dim TheDateOfAccident as string = DateOfAccident.Text
>
> Dim TheNotifyDate as string = NotifyDate.Text
>
> Dim parameterTheEmpName as OleDbParameter = new
> OleDbParameter("@TheEmpName", OleDbType.String)
>
> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>
>
>
>
> SQLString = "INSERT INTO Table1(TheEmpName, TheDate,
> TheNotifyDate)VALUES(@TheEmpName,@TheDateOfAcciden t,@TheNotifyDate)"
>
> DBCommand = New OleDBCommand(SQLString, DBConnection)
>
> DBCommand.ExecuteNonquery()
>
> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>
> Dim Cmd as New OleDbCommand(SQLString, DBConnection)
>
> With cmd.Parameters:
>
> .Add(New OleDbParameter("@TheEmpName", EmpName.Text))
>
> .Add(New OleDbParameter("@TheDateOfAccident", DateOfAccident.Text))
>
> .Add(New OleDbParameter("@TheNotifyDate", NotifyDate.Text))
>
> end With
>
>
> DBConnection.Close()
>
> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>
>
>
> End Sub
>
> </script>
>
> </head>
>
> <body>
>
> <form id="form1" runat="server">
>
>
>
> Employee's Name: <asp:textbox id="EmpName" runat=server columns="45"/>
>
> <asp:textbox id="DateofAccident" runat=server /></asp:textbox>
>
> <font face="Verdana" Size="2">Date Employer Notified <asp:textbox
> id="Notifydate" runat=server/>
>
> <asp:Button id="btnSendDatabase" text="Submit"
> OnClick="btnSendDatabase_OnClick" runat="server" />
>
>
> </form>
>
> </body>
>
> </html>
>
>
>
>
>
>
>
>
>
>
>
>
>
>



 
Reply With Quote
 
 
 
 
dancer
Guest
Posts: n/a
 
      08-03-2007
I changed to VarChar, but now I get this message:
No value given for one or more required parameters
Line 32: DBCommand.ExecuteNonquery()



"Eliyahu Goldin" <(E-Mail Removed)> wrote in
message news:%(E-Mail Removed)...
> Change to
>
> OleDbType.VarChar
>
> --
> Eliyahu Goldin,
> Software Developer & Consultant
> Microsoft MVP [ASP.NET]
> http://msmvps.com/blogs/egoldin
>
>
> "dancer" <(E-Mail Removed)> wrote in message
> news:OV4PN$(E-Mail Removed)...
>> Using Asp.net 1.1
>> Can somebody tell me why the code following gives this error message:
>>
>> Compilation Error
>> Description: An error occurred during the compilation of a resource

> required
>> to service this request. Please review the following specific error

> details
>> and modify your source code appropriately.
>>
>> Compiler Error Message: BC30456: 'String' is not a member of
>> 'System.Data.OleDb.OleDbType'.
>>
>> Source Error:
>>
>>
>> Line 21: Dim TheNotifyDate as string = NotifyDate.Text
>> Line 22:
>> Line 23: Dim parameterTheEmpName as OleDbParameter = new
>> OleDbParameter("@TheEmpName", OleDbType.String)
>> Line 24:
>> Line 25: Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>>
>>
>> <%@ Page Language="VB" Debug="true" %>
>>
>> <%@ Import Namespace="System.Data.Oledb" %>
>>
>>
>>
>> <script language= "VB" runat="server">
>>
>> 'Protected Sub Page_Load(ByVal sender As Object, ByVal e As
>> System.EventArgs)
>>
>> Sub btnSendDatabase_OnClick(Source As Object, E As EventArgs)
>>
>>
>> Dim DBConnection As OledbConnection
>>
>> DBConnection = New OledbConnection("Provider=Microsoft.Jet.Oledb.4.0; " &
>> _
>>
>> "Data Source=C:\Inetpub\wwwroot\Acc.mdb" )
>>
>> DBConnection.Open()
>>
>> Dim DBCommand As OledbCommand
>>
>> DBCommand = New OledbCommand("SELECT * FROM table1, Acc")
>>
>> Dim SQLString AS String
>>
>>
>> Dim TheEmpName as String = EmpName.Text
>>
>> Dim TheDateOfAccident as string = DateOfAccident.Text
>>
>> Dim TheNotifyDate as string = NotifyDate.Text
>>
>> Dim parameterTheEmpName as OleDbParameter = new
>> OleDbParameter("@TheEmpName", OleDbType.String)
>>
>> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>>
>>
>>
>>
>> SQLString = "INSERT INTO Table1(TheEmpName, TheDate,
>> TheNotifyDate)VALUES(@TheEmpName,@TheDateOfAcciden t,@TheNotifyDate)"
>>
>> DBCommand = New OleDBCommand(SQLString, DBConnection)
>>
>> DBCommand.ExecuteNonquery()
>>
>> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>>
>> Dim Cmd as New OleDbCommand(SQLString, DBConnection)
>>
>> With cmd.Parameters:
>>
>> .Add(New OleDbParameter("@TheEmpName", EmpName.Text))
>>
>> .Add(New OleDbParameter("@TheDateOfAccident", DateOfAccident.Text))
>>
>> .Add(New OleDbParameter("@TheNotifyDate", NotifyDate.Text))
>>
>> end With
>>
>>
>> DBConnection.Close()
>>
>> Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")
>>
>>
>>
>> End Sub
>>
>> </script>
>>
>> </head>
>>
>> <body>
>>
>> <form id="form1" runat="server">
>>
>>
>>
>> Employee's Name: <asp:textbox id="EmpName" runat=server columns="45"/>
>>
>> <asp:textbox id="DateofAccident" runat=server /></asp:textbox>
>>
>> <font face="Verdana" Size="2">Date Employer Notified <asp:textbox
>> id="Notifydate" runat=server/>
>>
>> <asp:Button id="btnSendDatabase" text="Submit"
>> OnClick="btnSendDatabase_OnClick" runat="server" />
>>
>>
>> </form>
>>
>> </body>
>>
>> </html>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

>
>



 
Reply With Quote
 
Alexey Smirnov
Guest
Posts: n/a
 
      08-04-2007
On Aug 3, 7:41 pm, "dancer" <(E-Mail Removed)> wrote:
> I changed to VarChar, but now I get this message:
> No value given for one or more required parameters
> Line 32: DBCommand.ExecuteNonquery()
>


Hi dancer,

"No value given for one or more required parameters" says that the
parameterTheEmpName parameter you have initiated has no value.

Dim parameterTheEmpName as OleDbParameter = new
OleDbParameter("@TheEmpName", OleDbType.VarChar)
parameterTheEmpName.Value = "here_is_your_value"

'After that add the parameter to the command object using the
Parameters collection
{yourCommandNameObject}.Parameters.Add(parameterTh eEmpName)

Then look at your code.

You've created the parameterTheEmpName and you don't use it.

Moreover, after that you do

SQLString = "INSERT INTO Table1(TheEmpName, TheDate,
TheNotifyDate)VALUES(@TheEmpName,@TheDateOfAcciden t,@TheNotifyDate)"
DBCommand = New OleDBCommand(SQLString, DBConnection)
DBCommand.ExecuteNonquery()

Where you created a new OleDBCommand, referred to the @TheEmpName
(again with no value) and other parameters and executed that
DBCommand.

After that you created another OleDbCommand, created and attached a
new @TheEmpName (this time with a value as EmpName.Text) and closed
the connection.

What's the logic behind this?

Basically, you should

1) open a connection
2) create a new command
3) attach all parameters
4) execute a command
5) close connection

 
Reply With Quote
 
dancer
Guest
Posts: n/a
 
      08-05-2007
Thank you, Alexey, for replying.
I just don't know enough to follow you. I had the following code which
worked with no problem.. But I wanted to change to a Parameterized query.
Could you do me the favor of changing my code to that which uses parameters
correctly?
Then I think I will be able to understand. (The Response.Write statements
are just for checking.)
I'll be forever in your debt!!
<%@ Page Language="VB" Debug="true" %>

<%@ Import Namespace="System.Data.Oledb" %>

<script language= "VB" runat="server">

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

Sub btnSendDatabase_OnClick(Source As Object, E As EventArgs)


Dim DBConnection As OledbConnection

DBConnection = New OledbConnection("Provider=Microsoft.Jet.Oledb.4.0; " & _

"Data Source=C:\Inetpub\wwwroot\Acc.mdb" )

DBConnection.Open()

Dim DBCommand As OledbCommand

DBCommand = New OledbCommand("SELECT * FROM table1, Acc")

Dim SQLString AS String


Dim TheEmpName as String = EmpName.Text

Dim TheDateOfAccident as string = DateOfAccident.Text

Dim TheNotifyDate as string = NotifyDate.Text


Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")




SQLString = "INSERT INTO Table1(TheEmpName, TheDateOfAccident,
TheNotifyDate)VALUES('"+TheEmpName+"','"+TheDateOf Accident+"','"+TheNotifyDate+"')"

DBCommand = New OleDBCommand(SQLString, DBConnection)

DBCommand.ExecuteNonquery()

Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")


DBConnection.Close()

Response.Write("Value of TheEmpName = " & TheEmpName & "<br>")



End Sub

</script>

</head>

<body>

<form id="form1" runat="server">



Employee's Name: <asp:textbox id="EmpName" runat=server columns="45"/>

<asp:textbox id="DateofAccident" runat=server /></asp:textbox>

<font face="Verdana" Size="2">Date Employer Notified <asp:textbox
id="Notifydate" runat=server/>

<asp:Button id="btnSendDatabase" text="Submit"
OnClick="btnSendDatabase_OnClick" runat="server" />


</form>

</body>

</html>














"Alexey Smirnov" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> On Aug 3, 7:41 pm, "dancer" <(E-Mail Removed)> wrote:
>> I changed to VarChar, but now I get this message:
>> No value given for one or more required parameters
>> Line 32: DBCommand.ExecuteNonquery()
>>

>
> Hi dancer,
>
> "No value given for one or more required parameters" says that the
> parameterTheEmpName parameter you have initiated has no value.
>
>
> Basically, you should
>
> 1) open a connection
> 2) create a new command
> 3) attach all parameters
> 4) execute a command
> 5) close connection
>



 
Reply With Quote
 
Alexey Smirnov
Guest
Posts: n/a
 
      08-06-2007
On Aug 5, 3:55 pm, "dancer" <(E-Mail Removed)> wrote:
> Thank you, Alexey, for replying.
> I just don't know enough to follow you. I had the following code which
> worked with no problem.. But I wanted to change to a Parameterized query.
> Could you do me the favor of changing my code to that which uses parameters
> correctly?
> Then I think I will be able to understand. (The Response.Write statements
> are just for checking.)
> I'll be forever in your debt!!
> <%@ Page Language="VB" Debug="true" %>
>
> <%@ Import Namespace="System.Data.Oledb" %>
>
> <script language= "VB" runat="server">
>
> 'Protected Sub Page_Load(ByVal sender As Object, ByVal e As
> System.EventArgs)
>
> Sub btnSendDatabase_OnClick(Source As Object, E As EventArgs)
>
> Dim DBConnection As OledbConnection
>
> DBConnection = New OledbConnection("Provider=Microsoft.Jet.Oledb.4.0; " & _
>
> "Data Source=C:\Inetpub\wwwroot\Acc.mdb" )
>
> DBConnection.Open()
>
> Dim DBCommand As OledbCommand
>
> DBCommand = New OledbCommand("SELECT * FROM table1, Acc")
>


The code looks correct, except the line with

DBCommand = New OledbCommand("SELECT * FROM table1, Acc")

Change it to "SELECT * FROM table1"

Hope this helps

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Compilation error with seperate compilation C__chp C++ 4 02-15-2008 03:57 PM
Parameterized precompiled modules Niiranen Miika VHDL 1 10-07-2004 09:30 PM
SQL Parameterized Queries with IN statement Fred ASP .Net 2 07-16-2004 12:48 AM
bottom up synthesis with parameterized design Marco Lazar VHDL 0 04-22-2004 05:38 PM
Parameterized query Jorell ASP .Net 1 11-19-2003 06:40 PM



Advertisments