Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2008 Forums
 Transact-SQL (2008)
 Update SQL Varbinary (OldValue = NULL)

Author  Topic 

TsadokBlok
Starting Member

1 Post

Posted - 2011-01-04 : 17:17:31

Hi,
I'd appreciate any help/hints with the following problem.
I am programming in Visual Basic 2010 - SQL Server 2008.

I have a Varbinary Field that I can Update just fine as long as this field contains any Byte() data. BUT when this field contains System.Data.SqlTypes.SqlBinary.Null value then THE update doesn't happen - 0 row affected.

My Update String:
UPDATE TableName SET Username = @Username, Password = @Password, Fullname = @Fullname, Type = @Type, Accountstatus = @Accountstatus WHERE UserId = @UserId AND Username = @OldUsername AND Password = @OldPassword AND Fullname = @OldFullname AND Type = @OldType AND Accountstatus = @OldAccountstatus


The SQl Command Parameters are:
        With cmdSql.Parameters
.AddWithValue("UserId", OldUser.UserId)
.AddWithValue("Username", NewUser.Username)
.AddWithValue("Password", NewUser.Password)
If IsNothing(NewUser.Fullname) Then
.AddWithValue("Fullname", System.Data.SqlTypes.SqlBinary.Null)
Else
.AddWithValue("Fullname", NewUser.Fullname)
End If
.AddWithValue("Type", NewUser.Type)
.AddWithValue("Accountstatus", NewUser.Accountstatus)
.AddWithValue("OldUsername", OldUser.Username)
.AddWithValue("OldPassword", OldUser.Password)
If IsNothing(OldUser.Fullname) Then
.AddWithValue("OldFullname", System.Data.SqlTypes.SqlBinary.Null)
Else
.AddWithValue("OldFullname", OldUser.Fullname)
End If

.AddWithValue("OldType", OldUser.Type)
.AddWithValue("OldAccountstatus", OldUser.Accountstatus)
End With


Please note, Update works fine as long as there is a value in varbinary Field: Fullname, BUT when this field contains NULL - it refuses any new data.

I assume that my @OldFullname value is somehow wrong????





- Tsadok
   

- Advertisement -