From: olegmad <ol...@ya...> - 2003-11-13 14:15:32
|
> Can you try using parametrized querys, please ?? Anything like this : > > string sql = "insert into \"test\" (\"unicode_fss\") values > (@unicodeValue)"; > FbCommand unicode_insert = new FbCommand(sql, connection); > unicode_insert.Parameters.Add("@unicodeValue", FbDbType.VarChar).Value = > "áóíéú"; > unicode_insert.ExecuteNonQuery(); > unicode_insert.Dispose(); > > sql = "insert into \"test\" (\"win1251\") values (@win1251Value)"; > FbCommand win1251_insert = new FbCommand(sql, connection); > win1251_insert.Parameters.Add("@win1251Value", FbDbType.VarChar).Value = > "áóíéú"; > win1251_insert.ExecuteNonQuery(); > win1251_insert.Dispose(); > > > This needs to handle correctly the character set of each field. I try, but when i using parametrized querys - i can't post text data in fields this diffrent charset. My code sample: ------------- class MainClass { static private readonly string ConnectionString = @"Charset=UNICODE_FSS;Server=80.80.104.12;Database=c:\temp\carlos.gdb;Connec tion Lifetime=15;Dialect=3;User=carlos;Password=carlos;"; static void Main(string[] args) { using (FbConnection connection = new FbConnection(ConnectionString)) { connection.Open(); FbTransaction transaction = connection.BeginTransaction(); FbCommand command; command = new FbCommand("insert into \"test\" (\"unicode_fss\") VALUES (@my_param)", connection, transaction); command.Parameters.Add("@my_param", FbDbType.VarChar).Value = "????????"; command.ExecuteNonQuery(); command = new FbCommand("insert into \"test\" (\"win1251\") VALUES (@my_param)", connection, transaction); command.Parameters.Add("@my_param", FbDbType.VarChar).Value = "????????"; command.ExecuteNonQuery(); // Exception HERE !!!! transaction.Commit(); } } } ----------------- Exception: Cannot transliterate character between character sets |