所以我一直在制作一个简单的c#win表单应用程序,用于传说相关联的东西,我一直在使用.SDF数据库,我很新.
在尝试创建搜索选项时,我遇到了此错误:
缺少参数.[参数序数= 1]
这是我的代码:(我确实在命令中添加了参数.)
public DataTable GetDataTableSummoners(string Summoner, string Champion)
{
DataTable t = new DataTable();
try
{
var cmd = new SqlCeCommand();
cmd.CommandText = "SELECT * FROM Summoner";
if (!String.IsNullOrEmpty(Summoner))
{
SqlCeParameter param = new SqlCeParameter();
param.ParameterName = "@Summoner";
param.Value = Summoner;
cmd.Parameters.Add(param);
cmd.CommandText = "SELECT * FROM Summoner WHERE name = @Summoner";
}
var adapter = new SqlCeDataAdapter(cmd.CommandText, conn);
adapter.Fill(t);
}
catch (System.Data.SqlServerCe.SqlCeException ex)
{
System.Diagnostics.Debug.Print("Error: " + ex.Message);
}
return t;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 10
您正在将该参数添加到命令中 - 但是您在这里忽略了命令本身:
var adapter = new SqlCeDataAdapter(cmd.CommandText, conn);
Run Code Online (Sandbox Code Playgroud)
您只传递命令文本,该文本不包含参数.你要:
var adapter = new SqlCeDataAdapter(cmd, conn);
Run Code Online (Sandbox Code Playgroud)
(我还建议使用using命令语句,并更改方法参数名称以遵循.NET命名约定.哦,你似乎没有使用冠军参数......)
哦,你可以像这样更容易地添加参数(也指定类型,这是一个好主意):
cmd.Parameters.Add("@Summoner", SqlDbType.NVarChar).Value = Summoner;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |