0

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();を取得し続けます。

どんな助けでも大歓迎です。

4

1 に答える 1

1

ストアドプロシージャであると言う分類子がありませんでした

cmd.CommandType = CommandType.StoredProcedure;

于 2012-12-18T19:12:05.680 に答える