Tag: executenonquery

ExecutenonQuery无效

我存储过程如下: ALTER PROC pr_Update_Users_Nomination ( @UserID AS VARCHAR(100), @Nominated AS BIT ) AS UPDATE User SET isNominated = @Nominated WHERE EMPID = @UserID; 我想从c#代码调用这个过程:下面是我正在尝试的代码: void OpenConnection() { string Nominated = “False”; //Connection String string sConnString = System.Configuration.ConfigurationManager.ConnectionStrings[“ConString1”].ConnectionString; SqlConnection mySqlCon = new SqlConnection(sConnString); SqlCommand mySqlCom = mySqlCon.CreateCommand(); //Call the stored proc and provide in parameters mySqlCom.CommandText […]

ExecuteNonQuery()始终返回-1

我正在使用存储过程在表中插入一些值。 CREATE PROCEDURE [dbo].[Sp_InsertValue] @Val1 as nvarchar(50) @Val2 as nvarchar(50) as BEGIN IF NOT EXISTS(SELECT * FROM @mytable WHERE ID=@Val1) INSERT INTO @mytable VALUES(@VAL2) END 我使用ExecuteNonQuery()使用C#在ASP.NET中调用此存储过程。 它工作正常,没有问题,如果它们不存在,它会插入值。 问题是cmd.ExecuteNonQuery()始终返回-1。 我希望如果插入一条记录,它应该返回1,如果没有,则为0,对吧?

OracleCommand命令,ExecuteNonQuery问题

我必须清除oracle数据库中的某些表,但是当我遇到运行以下代码的问题时 public static void ClearDataTables(IList tableNames) { string connectionString = “CONNECTIONSTRING”; using (OracleConnection connection = new OracleConnection()) { connection.ConnectionString = connectionString; connection.Open(); foreach (string table in tableNames) { OracleCommand command = connection.CreateCommand(); string sql = String.Format(“DELETE FROM TOA_REPORTING.{0}”, table); command.CommandText = sql; command.ExecuteNonQuery(); } connection.Close(); } } 我用这个列表调用这个方法 ClearDataTables(new List { “GROUP_DEFINITION”, “GROUP_REPORT_EMAIL_LIST”, “GROUP_EQUIPMENT_GROUP_STN_XREF”}); 它可以很好地运行前两个表,但是在第三个表上,它会卡住,应用程序会永远运行… […]

c#:ExecuteNonQuery()返回-1

我之前使用过这种方法来返回更改的行数。 我是运行insert方法,插入在存储过程中运行正常,但ExecuteNonQuery的返回值始终返回-1。 这是我的C#代码: int ret = 0; using (SqlConnection conn = new SqlConnection(this.ConnectionString)) { using (SqlCommand cmd = new SqlCommand(QueryName, conn)) { conn.Open(); if (Params != null) cmd.Parameters.AddRange(Params); cmd.CommandType = CommandType.StoredProcedure; ret = cmd.ExecuteNonQuery(); conn.Close(); } } return ret; 为什么我得到-1而不是更改的实际行数?

如何将变量传递给SqlCommand语句并插入到数据库表中

我正在用C#编写一个小程序,它使用SQL在运行时根据用户的输入将值存储到数据库中。 唯一的问题是我无法找出正确的Sql语法来将变量传递到我的数据库中。 private void button1_Click(object sender, EventArgs e) { int num = 2; using (SqlCeConnection c = new SqlCeConnection( Properties.Settings.Default.rentalDataConnectionString)) { c.Open(); string insertString = @”insert into Buildings(name, street, city, state, zip, numUnits) values(‘name’, ‘street’, ‘city’, ‘state’, @num, 332323)”; SqlCeCommand cmd = new SqlCeCommand(insertString, c); cmd.ExecuteNonQuery(); c.Close(); } this.DialogResult = DialogResult.OK; } 在这段代码中,我使用了所有静态值,除了我试图传递给数据库的num变量。 在运行时我收到此错误: A […]

使用ado.net通过C#将值插入SQL Server数据库

我创建了一个简单的程序来将值插入表[regist] ,但我一直收到错误 ‘)附近的语法不正确 on cmd.ExecuteNonQuery(); : private void button1_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection(“Data Source=DELL-PC;initial catalog=AdventureWorks2008R2 ; User ID=sa;Password=sqlpass;Integrated Security=SSPI;”); SqlCommand cmd = new SqlCommand(“INSERT INTO dbo.regist (” + ” FirstName, Lastname, Username, Password, Age, Gender,Contact, ” + “) VALUES (” + ” @textBox1.Text, @textBox2.Text, @textBox3.Text, @textBox4.Text, @comboBox1.Text,@comboBox2.Text,@textBox7.Text” + “)”, cn); […]

使用ExecuteNonQuery()时从SQLite检索错误代码

在我的C#项目中,我正在使用从CodeProject下载的System.Data.SQLite.dll 。 我的问题是根据标题 – 如何在调用SqliteCommand.ExecuteNonQuery()函数后获取错误代码? 错误代码,如SQLITE_CONSTRAINT, SQLITE_BUSY, SQLITE_LOCKED ,如下所示。

返回标识值时,ExecuteScalar vs ExecuteNonQuery

如果我想返回新插入行的标识列,请尝试确定是否最好使用ExecuteScalar或ExecuteNonQuery 。 我已经阅读了这个问题并且我理解了那里的差异,但是在查看几周前我写的一些代码时(虽然从这个网站大量借用)我发现在我的插入中我使用的是ExecuteScalar ,如下所示: public static int SaveTest(Test newTest) { var conn = DbConnect.Connection(); const string sqlString = “INSERT INTO dbo.Tests ( Tester , Premise ) ” + ” VALUES ( @tester , @premise ) ” + “SET @newId = SCOPE_IDENTITY(); “; using (conn) { using (var cmd = new SqlCommand(sqlString, conn)) { cmd.Parameters.AddWithValue(“@tester”, newTest.tester); […]

尽管使用了查询字符串,但在使用sql COUNT时,ExecuteNonQuery返回-1

出于某种原因,C#中的ExecuteNonQuery()返回-1 ,但是当我单独运行查询时,该值返回所需的实际值。 例如: try { var connString =”Data Source=ServerName;InitialCatalog=DatabaseName;Integrated Security=true;” SqlConnection conn = new SqlConnection(connString); SqlCommand someCmd = new SqlCommand(“SELECT COUNT(*) FROM SomeTable”); someCmd.Connection = conn; conn.Open(); var theCount = cmd.ExecuteNonQuery(); conn.Close(); } catch(Exception ex) { Console.WriteLine(ex.Message); } 执行命令时,返回-1 。 虽然如果单独运行查询, SELECT COUNT(*) FROM SomeTable; 如果要查询的表有4行,则列返回一行,计数为4 。