2012-05-09 14 views
0

今日はあまりにも多くの質問をしましたが、もう一つ質問があります。私は自分のデータベースに画像を保存しようとしています。私は何かを解決できませんでした。画像を追加しようとすると、パラメタ文字列をBYTE []に変換することはできません。実際、私はバイトをパラメーター値として与えています。私は解決しようとしましたが、おそらくあなたが私を助けることができませんでした。この行は無効です文字列からバイト配列への変換C#

Stream fs = FileUpload1.PostedFile.InputStream; 
     BinaryReader br = new BinaryReader(fs); 
     Byte[] bytes = br.ReadBytes((Int32)fs.Length); 

     //insert the file into database 
     string strQuery = "INSERT INTO Books(Book_Name, Author_Name, Image,In_Lib) VALUES (@BN, @AN, @IM,@LIB)"; 
     SqlCommand cmd = new SqlCommand(strQuery); 
     string val1 = "" + TextBox1.Text; 
     string val2 = "" + TextBox2.Text; 
     cmd.Parameters.Add("@BN", SqlDbType.VarChar).Value = val1; 
     cmd.Parameters.Add("@AN", SqlDbType.VarChar).Value= val2; 
     cmd.Parameters.Add("@IM", SqlDbType.Binary).Value = bytes; 
     cmd.Parameters.Add("@LIB", SqlDbType.Binary).Value = "NO"; 
     InsertUpdateData(cmd); 
     lblMessage.ForeColor = System.Drawing.Color.Green; 
     lblMessage.Text = "File Uploaded Successfully"; 
+2

_cmd.Parameters.Add( "@ LIB"、SqlDbType.Binary).Value = "NO"; _ –

答えて

4

:ここに私のコードは、あなたのSQLに基づいて

cmd.Parameters.Add("@LIB", SqlDbType.Binary).Value = "NO"; 

あなたがそこにvarchar型を使用することを意図したように、それが見えます。

+0

ああ私はとても愚かです –

3

あなたはBinaryパラメータ@LIBの値として文字列"NO"に合格している:

cmd.Parameters.Add("@LIB", SqlDbType.Binary).Value = "NO"; 

私はそれがあなたの問題であると思います。

関連する問題