1

我已经看到其他处理此错误的主题,但似乎没有一个与我的情况相对应。

首先,我的代码在本地运行时完全正常。

但是当我将它上传到服务器时,我得到了错误:

在集合中找不到参数“?PuserName”。

这是 C# 代码:

public DataSet GetEmployeeByUsername(string username)
        {
            string proc = "schema.GetEmployeeByUsername";
            MySqlParameter[] args = new MySqlParameter[1];
            args[0] = new MySqlParameter("?PuserName", MySqlDbType.VarChar);
            args[0].Value = username;
            return SQLDatasetCall(args, proc);
        }

 protected DataSet SQLDatasetCall(MySqlParameter[] sqlparams, string call)
        {
            string myConString = ConfigurationManager.AppSettings["mySql"];
            MySqlConnection MyConnection = new MySqlConnection(myConString);
            MySqlDataAdapter adapter = new MySqlDataAdapter();
            MyConnection.Open();
            MySqlCommand command = new MySqlCommand(call, MyConnection);
            command.CommandType = CommandType.StoredProcedure;
            if (sqlparams != null)
            {
                foreach (MySqlParameter param in sqlparams)
                {
                    command.Parameters.Add(param);
                }
            }
            DataSet ds = new DataSet();
            adapter.SelectCommand = command;
            adapter.Fill(ds);
            adapter.Dispose();
            MyConnection.Close();
            return ds;
        }

SQL 代码:

delimiter |
create procedure GetEmployeeByUsername(in PuserName varchar(45))
begin
  select id,
      firstName,
      lastName,
      phone,
      address1,
      address2,
      city,
      state,
      zip,
      username,
      password,
      emptypeid
  from schema.tblemployees
  where
      username=PuserName;
end |
delimiter;
4

1 回答 1

1

结果证明微软 Visual Web Developer 在“发布”方法期间没有正确地对我的文件进行 ftp 处理。我下载了filezilla并再次对文件进行了ftp-ed并且它起作用了....

于 2009-01-04T18:48:28.463 回答