Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Does Gridview UpdateCommand recognize IF?

Reply
Thread Tools

Does Gridview UpdateCommand recognize IF?

 
 
Mark B
Guest
Posts: n/a
 
      08-26-2008
My gridview update command seems to always execute the first part of the SQL
statement regardless of whether or not there is a value for the
@AutoNumberID parameter. Any ideas?

UpdateCommand="
IF @AutoNumberID IS NULL
INSERT INTO dbo.tblLanguageValues(LanguageCode, LookupID,
LanguageText)
VALUES (@LanguageCode, @LookupID, @LanguageText)
ELSE
UPDATE dbo.tblLanguageValues
SET LanguageText = @LanguageText
WHERE LanguageCode = @LanguageCode AND LookupID = @LookupID"


based on the SELECT stored procedure for the Gridview:


ALTER PROCEDURE [dbo].[uspGeneralLanguageMaintenanceValuesGet]
@LanguageCode varchar(20)
AS
IF @LanguageCode = 'EN-US'
SELECT
AutoNumberID, LanguageCode,
LookupID, LanguageText, LanguageText as English, ToDo
FROM
dbo.tblLanguageValues
WHERE
LanguageCode = 'EN-US'
ELSE
SELECT
LV.AutoNumberID, @LanguageCode AS LanguageCode,
US.LookupID, LV.LanguageText, US.LanguageText as English,
LV.ToDo
FROM
dbo.tblLanguageValues US
LEFT OUTER JOIN dbo.tblLanguageValues LV
ON US.LookupID = LV.LookupID AND
LV.LanguageCode = @LanguageCode
WHERE
US.LanguageCode = 'EN-US'


 
Reply With Quote
 
 
 
 
Uri Dimant
Guest
Posts: n/a
 
      08-26-2008
Mark
Where do you assign a value to @AutoNumberID variable?

"Mark B" <> wrote in message
news:...
> My gridview update command seems to always execute the first part of the
> SQL statement regardless of whether or not there is a value for the
> @AutoNumberID parameter. Any ideas?
>
> UpdateCommand="
> IF @AutoNumberID IS NULL
> INSERT INTO dbo.tblLanguageValues(LanguageCode, LookupID,
> LanguageText)
> VALUES (@LanguageCode, @LookupID, @LanguageText)
> ELSE
> UPDATE dbo.tblLanguageValues
> SET LanguageText = @LanguageText
> WHERE LanguageCode = @LanguageCode AND LookupID = @LookupID"
>
>
> based on the SELECT stored procedure for the Gridview:
>
>
> ALTER PROCEDURE [dbo].[uspGeneralLanguageMaintenanceValuesGet]
> @LanguageCode varchar(20)
> AS
> IF @LanguageCode = 'EN-US'
> SELECT
> AutoNumberID, LanguageCode,
> LookupID, LanguageText, LanguageText as English, ToDo
> FROM
> dbo.tblLanguageValues
> WHERE
> LanguageCode = 'EN-US'
> ELSE
> SELECT
> LV.AutoNumberID, @LanguageCode AS LanguageCode,
> US.LookupID, LV.LanguageText, US.LanguageText as English,
> LV.ToDo
> FROM
> dbo.tblLanguageValues US
> LEFT OUTER JOIN dbo.tblLanguageValues LV
> ON US.LookupID = LV.LookupID AND
> LV.LanguageCode = @LanguageCode
> WHERE
> US.LanguageCode = 'EN-US'
>
>



 
Reply With Quote
 
 
 
 
Mark B
Guest
Posts: n/a
 
      08-26-2008

It's part of the SELECT statement for the Gridview in the stored procedure
(uspGeneralLanguageMaintenanceValuesGet) I listed at the end of this post.
From what I understand ASP.NET looks for a field in SqlDataSource3 that has
exactly the same name as the parameter (less the @ character), even if no
column uses that field name in the Gridview. In my case I added a column
titled "#" with it's datavalue set to AutoNumberID just in case it needed
it.

The Autonumber field by the way is an identity field in the SQL database:
[AutoNumberID] [int] IDENTITY(1,1) NOT NULL


<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
DeleteCommand="DELETE FROM [tblLanguageValues] WHERE [LanguageCode] =
@LanguageCode AND [LookupID] = @LookupID"
InsertCommand="INSERT INTO [tblLanguageValues] ([LanguageText],
[LanguageCode], [LookupID]) VALUES (@LanguageText, @LanguageCode,
@LookupID)"
SelectCommand="uspGeneralLanguageMaintenanceValues Get"
SelectCommandType="StoredProcedure"
UpdateCommand="
IF @AutoNumberID IS NULL
INSERT INTO dbo.tblLanguageValues(LanguageCode, LookupID,
LanguageText)
VALUES (@LanguageCode, @LookupID, @LanguageText)
ELSE
UPDATE dbo.tblLanguageValues
SET LanguageText = @LanguageText
WHERE LanguageCode = @LanguageCode AND LookupID = @LookupID">

<UpdateParameters>
<asparameter Name="AutoNumberID" Type="Int32" />
<asparameter Name="LanguageText" Type="String" />
<asparameter Name="LanguageCode" Type="String"/>
<asparameter Name="LookupID" Type="Int32"/>
</UpdateParameters>

<SelectParameters>
<asparameter Name="LanguageCode" Type="String" />
</SelectParameters>

<DeleteParameters>
<asparameter Name="LanguageCode" Type="String" />
<asparameter Name="LookupID" Type="Int32" />
</DeleteParameters>

<InsertParameters>
<asparameter Name="LanguageText" Type="String" />
<asparameter Name="LanguageCode" Type="String" />
<asparameter Name="LookupID" Type="Int32" />
</InsertParameters>
</asp:C>






"Uri Dimant" <> wrote in message
news:...
> Mark
> Where do you assign a value to @AutoNumberID variable?
>
> "Mark B" <> wrote in message
> news:...
>> My gridview update command seems to always execute the first part of the
>> SQL statement regardless of whether or not there is a value for the
>> @AutoNumberID parameter. Any ideas?
>>
>> UpdateCommand="
>> IF @AutoNumberID IS NULL
>> INSERT INTO dbo.tblLanguageValues(LanguageCode, LookupID,
>> LanguageText)
>> VALUES (@LanguageCode, @LookupID, @LanguageText)
>> ELSE
>> UPDATE dbo.tblLanguageValues
>> SET LanguageText = @LanguageText
>> WHERE LanguageCode = @LanguageCode AND LookupID = @LookupID"
>>
>>
>> based on the SELECT stored procedure for the Gridview:
>>
>>
>> ALTER PROCEDURE [dbo].[uspGeneralLanguageMaintenanceValuesGet]
>> @LanguageCode varchar(20)
>> AS
>> IF @LanguageCode = 'EN-US'
>> SELECT
>> AutoNumberID, LanguageCode,
>> LookupID, LanguageText, LanguageText as English, ToDo
>> FROM
>> dbo.tblLanguageValues
>> WHERE
>> LanguageCode = 'EN-US'
>> ELSE
>> SELECT
>> LV.AutoNumberID, @LanguageCode AS LanguageCode,
>> US.LookupID, LV.LanguageText, US.LanguageText as English,
>> LV.ToDo
>> FROM
>> dbo.tblLanguageValues US
>> LEFT OUTER JOIN dbo.tblLanguageValues LV
>> ON US.LookupID = LV.LookupID AND
>> LV.LanguageCode = @LanguageCode
>> WHERE
>> US.LanguageCode = 'EN-US'
>>
>>

>
>


 
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
Gridview UpdateCommand Vaughn Haybittle ASP .Net Datagrid Control 0 04-04-2007 07:08 AM
Gridview Updatecommand ControlParameter Problem Lee Moore ASP .Net 0 08-18-2005 09:21 PM
DataGrid1 UpdateCommand calling DataGrid2 UpdateCommand srathin ASP .Net Web Controls 2 04-10-2005 11:07 PM
DataGrid1 UpdateCommand calling DataGrid2 UpdateCommand srathin ASP .Net Datagrid Control 0 04-09-2005 03:05 AM
UpdateCommand with Datalist Mark ASP .Net 2 07-17-2003 08:51 PM



Advertisments
 



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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57