我正在尝试转换:
command.Parameters.Add (new SqliteParameter (DbType.Int32) { Value = id });
到一个普通的SqlParameter:
command.Parameters.Add(new SqlParameter(DbType.Int32) { Value = id });
除了这行之外,我现在设法转换了每一行,但出现了以下错误:
Error 3 Argument 1: cannot convert from 'System.Data.DbType' to 'object[]'
Error 2 The best overloaded method match for 'System.Data.SqlClient.SqlParameter.SqlParameter(object[])' has some invalid arguments
全功能代码:
public User GetUser(int id)
{
var u = new User();
lock (locker)
{
connection = new SqlConnection("Data Source=" + path + ";Initial Catalog=DB;User ID=sa;Password=***********th");
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandText = "Select * from tblUsers WHERE UserID = ?";
command.Parameters.Add(new SqlParameter(DbType.Int32) { Value = id });
var r = command.ExecuteReader();
while (r.Read())
{
u = FromReader(r);
break;
}
}
connection.Close();
}
return u;
}
我认为您正在寻找的东西;
command.Parameters.Add(new SqlParameter("@YourParameterName", SqlDbType.Int32).Value = id;
编辑完问题后;
您可以使用AddWithValue
方法。Add(String, Object)
方法已过时。喜欢;
command.CommandText = "Select * from tblUsers WHERE UserID = @id";
command.Parameters.AddWithValue("@id", id);
如果将SQL Server用作数据库,则应AddWithValue
使用相同的名称命名参数add to 。
使用时OleDbCommand
,参数的顺序很重要。因为如上MSDN
所说:
当CommandType设置为Text时,OLE DB .NET
Provider不支持将命名参数传递给SQL语句或OleDbCommand调用的存储过程的命名参数。在这种情况下,必须使用问号(?)占位符。例如:
SELECT * FROM Customers WHERE CustomerID = ?
因此,将OleDbParameter对象添加到OleDbParameterCollection的顺序必须直接对应于命令文本中参数的问号占位符的位置。
打开和关闭连接: 注册用户 错误消息 '/'应用程序中的服务器错误。 INSERT INTO语句中存在语法错误。 描述:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的起源的更多信息。 异常详细信息:系统。数据。OleDb。OleDbException:INSERT INTO语句中的语法错误。 源错误: 第100行:命令。ExecuteNonQuery();第1
我正在尝试用Selenium在Java中创建ajax wait方法,以获取配置所定义的尽可能多的结果。 我是否应该担心XPath表达式不是snytax正确的,或者Selenium找不到那个webelement?这个例外对我来说是模棱两可的....
问题内容: 我正在尝试在内添加HTML代码段,但无法使用包含功能。看来的当前语法与以前的语法不同:我看到许多示例使用 但是在官方文档中,它说使用 但随后在页面下方显示为 无论如何,我尝试了 我的代码片段不是很多代码,但是有很多事情要做。这可能会引起问题,所以我只用单词代替了内容,仍然一无所获。 我还尝试过直接在页面中声明模板,如下所示: 并遍历了引用脚本的所有变体,仍然一无所获。 我的页面还有很多
问题内容: 我是一名新的Python程序员,他正在从2.6.4跃升至3.1.1。在我尝试使用“ else if”语句之前,一切都很好。解释器在“ else if”中的“ if”之后给了我一个语法错误,原因是我似乎无法弄清。 我可能缺少一些非常简单的东西;但是,我无法自行找到答案。 问题答案: 在python中,“ else if”被拼写为“ elif”。 另外,您还需要在和之后加上一个冒号。 简单
问题内容: 我有一个Java代码: 然后我有SQLException: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’?’附近使用正确的语法。 问题答案: 您应该执行不带任何参数的,如下所示: 使用参数调用将按原样执行提供的查询(没有绑定参数)。
问题内容: 我是学生,这是家庭作业…表格在那里,但没有插入数据。 感谢您的任何建议 SQL语句: 问题答案: 您在其中没有子句(“ Ledonna”之后的子句) 请注意,如果您双击Management Studio中的错误消息,它将带您进入代码的问题位。