0

DB でドキュメント ファイルと写真ストアを varbinary(max) として更新する SQL UPDATE ステートメントを作成しました。最初に 、データ型 varchar から varbinary(max) への暗黙的な変換は許可されていないというエラーが表示されました。CONVERT 関数を使用してこのクエリを実行します

そこでコードを変更して、このようにしました。

 try {
                 //SET Varbinary_Col = CAST(Varbinary_Content as VARBINARY)
               query = "UPDATE tourClient SET DocumentFile= CONVERT(varbinary(max),'"+docFile+"'),Photo= CONVERT(varbinary(max),'"+person_image+"') WHERE Name= '" + combo_client.getSelectedItem() + "' ";
                PreparedStatement stm = db.getconn().prepareStatement(query);
                int val = stm.executeUpdate();

                if (val > 0) {
                    JOptionPane.showMessageDialog(null, "Uploaded successfully!!!");
                    rs.next();
                }
                db.getconn().close();
            } catch (Exception e) {
                System.out.println(e);
            }

上記のクエリを netbeans で実行すると、正常にアップロードされたことを示す Joption メッセージが表示されます。私はnetbeansに別のj​​frameを持っています。これには、すべてのドキュメントファイル、画像を選択し、それをjtableに表示するクエリがあります。jtable の行をクリックすると、画像がラベルに表示され、ドキュメントが開かれますが、開こうとすると、ファイルが壊れていると表示され、画像に対してアップロードした png が表示されません。

ステートメントを正しく書きましたか?変更しなければならないことはありますか?

4

0 に答える 0