2011-11-24 117 views
5

如何将字符串存储在varbinary(max)列中?如何使用c#在varbinary(max)列中存储字符串?

我在皈依过程 havig麻烦我这样做:

cmd.CommandText = "Insert into " + bdcombo.Text + ".dbo.nomes (id, nome) values (@id, @nome)"; 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection = sqlcon; 

    cmd.Parameters.Add("@nome", SqlDbType.VarBinary, 20).Value = Convert.ToSByte(textBox1.Text); 
+4

你为什么使用'varbinary'来存储字符串? – Oded

+0

你为什么要在一个varbinary列中存储一个字符串?你不能将它存储在varchar一个 –

+0

你面临的任何错误是什么问题?例外? –

回答

11

如果要存储一个字符串,可以使用[N] VARCHAR(最大值)。

如果必须使用的varbinary(最大),然后让你必须使用一个编码,例如字节:

byte[] theBytes = Encoding.UTF8.GetBytes(theString); 

及更高版本:

string theString = Encoding.UTF8.GetString(theBytes); 

(在读)

相关问题