|
|
|
start date: Fri, 3 Aug 2007 09:11:26 -0400,
posted on: microsoft.public.dotnet.framework.aspnet
back
| Thread Index |
|
1
dancer
|
|
2
Eliyahu Goldin
|
|
3
dancer
|
|
4
Alexey Smirnov
|
|
5
dancer
|
|
6
Alexey Smirnov
|
Compilation error - Parameterized update
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,@TheDateOfAccident,@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>
Date:Fri, 3 Aug 2007 09:11:26 -0400
Author:
|
Re: Compilation error - Parameterized update
Change to
OleDbType.VarChar
--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
"dancer" wrote in message
news:OV4PN$c1HHA.3760@TK2MSFTNGP03.phx.gbl...
> 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,@TheDateOfAccident,@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>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Date:Fri, 3 Aug 2007 17:01:24 +0200
Author:
|
Re: Compilation error - Parameterized update
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" wrote in
message news:%23oo2EYd1HHA.3940@TK2MSFTNGP05.phx.gbl...
> Change to
>
> OleDbType.VarChar
>
> --
> Eliyahu Goldin,
> Software Developer & Consultant
> Microsoft MVP [ASP.NET]
> http://msmvps.com/blogs/egoldin
>
>
> "dancer" wrote in message
> news:OV4PN$c1HHA.3760@TK2MSFTNGP03.phx.gbl...
>> 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,@TheDateOfAccident,@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>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
Date:Fri, 3 Aug 2007 13:41:33 -0400
Author:
|
Re: Compilation error - Parameterized update
On Aug 3, 7:41 pm, "dancer" 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(parameterTheEmpName)
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,@TheDateOfAccident,@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
Date:Sat, 04 Aug 2007 01:08:23 -0700
Author:
|
Re: Compilation error - Parameterized update
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+"','"+TheDateOfAccident+"','"+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" wrote in message
news:1186214903.838173.313430@w3g2000hsg.googlegroups.com...
> On Aug 3, 7:41 pm, "dancer" 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
>
Date:Sun, 5 Aug 2007 09:55:52 -0400
Author:
|
Re: Compilation error - Parameterized update
On Aug 5, 3:55 pm, "dancer" 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
Date:Mon, 06 Aug 2007 12:56:55 -0700
Author:
|
|
|