sql >> データベース >  >> RDS >> Mysql

コレクションにパラメータ@Nameが見つかりません

    値を指定する前にパラメータを追加する必要があります:

    mySqlCommand.Parameters.Add("@AreaName", SqlDbType.VarChar);
    
    mySqlCommand.Parameters["@AreaName"].Value =
        (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
            ? (object)DBNull.Value : PModel.AreaName));
    

    次の代替構文の使用を検討してください:

    mySqlCommand.Parameters.AddWithValue("@AreaName",
        (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
            ? (object)DBNull.Value : PModel.AreaName));
    

    それぞれの簡単な例は、SqlCommand.Parametersプロパティ MSDNのページ。

    また、クエリ文字列で何かファンキーなことをしました。これで修正されるはずです:

    mySqlCommand.CommandText =
        "SELECT * FROM PlantAreaCodes WHERE (AreaCode IS NULL OR AreaCode LIKE @AreaCode OR AreaName IS NULL OR AreaName LIKE @AreaName OR Comments IS NULL OR Comments LIKE @Comment;";
    

    LIKEを取得するには ■正しく機能するには、おそらく%を追加する必要があります パラメータ値を追加するときのパラメータ値の周りの記号:

    var areaName = (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
                       ? (object)DBNull.Value : PModel.AreaName)
    
    mySqlCommand.Parameters.AddWithValue("@AreaName", "%" + areaName + "%");
    


    1. 警告:ストリームを開くことができませんでした:17行目のC:\ wamp \ www \ laravel \ bootstrap\autoload.phpにそのようなファイルまたはディレクトリはありません

    2. INOUTパラメータを使用したOracleの例のストアドプロシージャ

    3. Ubuntu16.04にPostgreSQL10をインストールして接続します

    4. MySql 8をlaravelで実行するにはどうすればよいですか?