AsyncUpload コレクションで単純な foreach ループを Byte[] に実行し、それをデータベースに挿入しようとしています。
foreach (UploadedFile file in AsyncUpload1.UploadedFiles)
{
string[] splitFileExt = file.FileName.Split('.');
List<string> CommandArgs = new List<string>();
CommandArgs.Add("IID|" + Request.QueryString["InstructorID"]);
CommandArgs.Add("FName|" + file.FileName);
CommandArgs.Add("FTitle|" + file.FileName);
CommandArgs.Add("FType|" + file.ContentType);
CommandArgs.Add("FExtension|" + splitFileExt[1]);
CommandArgs.Add("FSize|" + file.ContentLength.ToString());
byte[] b = StaticControlCreationClass.ReadToEnd(file.InputStream);
MySQLProcessing.MySQLProcessor.MySQL_UploadFile(b, "fileupload", CommandArgs, mysqlCon);
}
public static void MySQL_UploadFile(byte[] value, string MYSQLCommand, List<string> CommandArgs, MySqlConnection con)
{
MySqlCommand cmd = new MySqlCommand(MYSQLCommand, con);
cmd.Parameters.AddWithValue("FContent", value);
foreach (string args in CommandArgs)
{
string[] splitArgs = args.Split('|');
cmd.Parameters.AddWithValue(splitArgs[0], splitArgs[1].Trim());
}
cmd.ExecuteNonQuery();
}
そして、ここにストアドプロシージャがあります
DROP PROCEDURE IF EXISTS fileupload; CREATE PROCEDUREファイルアップロード`( IID整数、 TValue varchar(250), FName varchar(250), FType varchar(15), FSize varchar(45), FContentロングブロブ、 FExtension varchar(10)) 始める SET @IID = IID; SET @TValue = TValue; SET @FName = FName; SET @FType = FType; SET @FSize = FSize; SET @FExtension = FExtension; SET @FContent = FContent; INSERT INTO tblfiles(rID, 題名、 ファイル名、 ファイルの種類、 ファイルサイズ、 ファイル_コンテンツ、 ファイル_拡張子) 値 (@IID、 @T値、 @FName、 @Fタイプ、 @Fサイズ、 @Fコンテンツ、 @FExtension); 終わり
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fileupload' at line 1
@ cmd.ExecuteNonQuery();を取得し続けます。
どんな助けでも大歓迎です。