I have been trying to place a binary byte array into the sql server mobile 2005 database and continually get an error "The Identifier cannot be an empty string." when attempting to save this sql to the database:
"INSERT INTO KHZ_Company_Permissions ( PermissionID, CompanyID, StatusID, PluginTypeName, PermissionLevel, ChangeStamp, RecordState ) VALUES (1, 1, 1, 'Plugins.Approval.ApprovalList', 2, System.Byte[], 0)"
the byte array ChangeStamp is a timestamp datatype in the Sql Server Database and is pulled into a custom business object as the .net datatype Byte()
in the debugger, the byte array looks like it should as a timestamp comprised of 8 bytes with the values: 0,0,0,0,0,0,63,181 . but when i attempt to execute the sql statement, i get the sqlceexception "The Identifier cannot be an empty string." if i change the byte to a string and save it as an nvarchar, the value is preserved and i can then pass it back to compare it to the timestamp when synching up to the Sql Server Database later, but i would prefer to maintain the type as a binary datatype, and avoid the string conversion...
When i am creating the sqlstring (which i then run using a sqlcommand/nonquery) i add the binary data to the sqlstring by referencing the .tostring character ... do you think this may be what is causing the error, and if so, is the only way to insert binary data to a sql ce db by using sqlcecommand parameters?
i have found no information to assist with this error, any ideas are much appreciated
Passing the Binary Parameters as SqlCEParameters fixed this|||Could you share the code you used to setup parameters and add the binary data?|||There's a sample on MSDN on how to use parameters:
http://msdn2.microsoft.com/en-us/library/system.data.sqlserverce.sqlcecommand.parameters(VS.80).aspx
No comments:
Post a Comment