アクセス処理のVFP9絵のSQLServer Imageフィールド

キャスト関数とVFP愛好家のためのBLOB型のVFP9、本当に良いニュース。VFP9処理前の画像フィールドのSQLServerのデータテーブルに格納された画像データについては、それは本当にキャストとのBlobはるかに簡単に対処するために、今、いくつかの問題です。

それを紹介する初:

CAST()関数:
別のデータ型への1つのデータ型からの発現。
CAST(eExpression AS cDataType [(nFieldWidth [、nPrecision ])] [NULL | NOT NULL])
パラメータ
eExpressionは
通常、あなたが別のデータ型に切り替えたいSQL文で、データ式を指定します。eExpressionは、フィールド、計算フィールドまたは式の他のタイプであってもよいです。
cDataType
法的な名前を指定するか、ターゲット・データは、ひなこの文字を入力示しています。cDataTypeは、有効なデータ型またはデータ型に相当する文字に法的な表現を表すことができます。 
注:場合cDataTypeは、式を指定する、あなたに括弧を使用する必要がありますcDataTypeの引用符で指定された式。
いくつかのフィールドのデータ型の要件nFieldWidthnPrecisionまたは指定された値の両方。
nFieldWidth
特定のデータ型のフィールド幅。Visual FoxProは、次のデータ型を無視しますnFieldWidth:D、T、I、Y、L、M、G、およびW. 指定されない場合nFieldWidthを、デフォルト値は、例えば、によって、使用される表CREATE定義された指令値。
nPrecision
特定のデータ型の小数点以下の桁。Visual FoxProは、次のデータタイプ無視nPrecision C、D、T、I、Y、L、M、G、V、QおよびWを:ない場合、数値又はフロート指定されたデータを入力しないnPrecisionない小数で、ゼロ(0)、。場合nPrecisionはダブル含まれていないではないnPrecisionを、デフォルトの小数点でSET DECIMALSコマンドセットの値を。他のタイプのデータが指定されていない場合はnPrecisionを、デフォルト値が使用され、例えば、TABLEのCREATEコマンド定義の値を。
NULL | NOT NULL
フィールドにNULL値を許可するかどうかを指定します。
注:1つ以上のフィールドがNULL値を含んでいてもよい場合は、フィールドの最大数は、表に含めることができるが、255から254に減少されます。
あなたは指定しない場合はNULLをまたはNOT NULLは、それが表現を継承しています。

バイナリラージオブジェクト(BLOB)データ型の
使用、例えばASCIIテキスト、実行可能ファイル(.exeファイル)または不定長さのバイトの文字列として、任意の種類のバイナリデータを格納するための大規模なバイナリオブジェクトデータをタイプ。SQL Serverの格納された画像データは、バイナリラージオブジェクトデータ型は特に有用と思われます。

なお、各文字列またはメモリ変数内の文字の最大数は、プログラムを扱う際に、一般的に約16Mの最大画像ファイルを可能にする、16777184バイトです。

サンプルコード:

ローカルlcImageName
lcImageName = AddBs(JUSTPATH(SYS(16,1)))+ SYS(2015)+ 'JPG' &&设置本地文件名。
NCON = SQLSTRINGCONNECT( "ドライバ= SQL Serverの;サーバー= SERVER; UID = SA; PWD =;データベース= DBSMarket") 
cSqlStr = "ProID = 1 T_BaseInfoから選択した写真"
= SQLEXEC(NCON、cSqlStr、 "CurTemp")
= SQLDisconnect(NCON)
= STRTOFILE(キャスト(CurTemp.PhotoとしてW)、lcImageName、0)
使用中( "CurTemp")
ファイル(lcImageName)の場合
   ThisForm.Image1.Visible = .T。 
   ThisForm.Image1.Picture = lcImageName
エルス
   ThisForm.Image1.Picture = lcImageName
   ThisForm.Image1.Visible = .F。 
ENDIF
消去[&lcImageName]

 

おすすめ

転載: www.cnblogs.com/hnllhq/p/12376104.html