基于C#的ASP.NET如何将一个字符串写入sql server数据库中 binary(16)字段

来源:百度知道 编辑:UC知道 时间:2024/05/16 19:43:22
基于C#的ASP.NET如何将一个字符串写入sql server数据库中 binary(16)字段
System.InvalidCastException: 从 System.String 到 System.Byte[] 的转换无效。

转换为双字节byte[2],即只能一个字符,超长不行。
**********************************
转换方法:
byte[] b = BitConverter.GetBytes(str[0]);

你可以先把字符串转换成 Byte 类型的数组,然后就可以保存到数据库了。

private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(strConnection);//strConnection为连接串自己写
byte[] binaryData = System.IO.File.ReadAllBytes("my.jpg");
//要存入的二进制数据,这里读出的是D:\\my.jpg图片的二进制数据
SqlCommand cmd = conn.CreateCommand();
//建立数据库连接
cmd.CommandText = "INSERT INTO Test (binaryData, SubTitle)"
+ " values ( @binaryData, @SubTitle)";
//要插入的值用占位符代替,其中@binaryData这样的就是占位符,就是这样写的,无论在什么语言中(好像是PLSQL里面就要这么写)
conn.Open();
cmd.Parameters.Add("@binaryData", SqlDbType.Binary, 100);
//设置占位符的数据类型SqlDbType类中包含了各种sqlsver的数据类型
//Add方法有多种重载,写法不唯一
cmd.Parameters.Add(