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();を取得し続けます。
どんな助けでも大歓迎です。