我有一個byte[]
屬性的對象,我想將此值轉換爲正確的值,以便可以使用T-SQL將其插入到數據庫中。如何將字節[]轉換爲數據以在SQL Server中的varbinary(max)列中插入值?
但我不知道如何將byte[]
轉換爲插入T-SQL的正確值。
謝謝。
我有一個byte[]
屬性的對象,我想將此值轉換爲正確的值,以便可以使用T-SQL將其插入到數據庫中。如何將字節[]轉換爲數據以在SQL Server中的varbinary(max)列中插入值?
但我不知道如何將byte[]
轉換爲插入T-SQL的正確值。
謝謝。
創建控制檯應用程序項目,並嘗試這個代碼
// Sample Class
public class MyClass
{
public byte[] data;
}
// Main
static void Main(string[] args)
{
MyClass cls = new MyClass();
using (SqlConnection cn = new SqlConnection("CONNECTION STRING"))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand("insert into MyTable values (@data)", cn))
{
cmd.Parameters.AddWithValue("@data", cls.data);
cmd.ExecuteNonQuery();
}
}
}
您想轉換爲VarBinary。
參見以下:
簡單的例子(設定命令參數)如何在VARBINARY通過
byte[] data;
command.Parameters.Add("@data", SqlDbType.VarBinary).Value = data;
T-SQL實例
CREATE PROCEDURE YourStoredProc
@data varbinary(max)
AS
BEGIN
-- your code
END
@ScottChamberlain剛剛更新的答案 –
這將是很好的告訴你如何使用參數查詢過,如果OP從未使用參數之前,他可能不知道如何使用它。 –
感謝您使用AddWithValue。它幫助到我。 –
您正在調用的「添加」過載被標記爲過時。你應該使用'.AddWithValue(「@ data」,cls.data);'或'.Add(「@ data」,SqlDbType.VarBinary).Value = cls.data;' –
@ScottChamberlain,謝謝你通知我。我更新了我的答案 – FLICKER