Tag: ado.net

entity framework删除对象问题

我得到“对象无法删除,因为它没有在ObjectStateManager中找到”。 同时删除对象。 这是代码; //first i am filling listview control. private void Form1_Load(object sender, EventArgs e) { FirebirdEntity asa = new FirebirdEntity(); ObjectQuery sorgu = asa.NEW_TABLE; foreach (var item in sorgu) { ListViewItem list = new ListViewItem(); list.Text = item.AD; list.SubItems.Add(item.SOYAD); list.Tag = item; listView1.Items.Add(list); } //than getting New_table entity from listview’s tag property. private void […]

将sqldatareader绑定到gridview c#

我正在为我正在创建的asp.net类创建一个应用程序。 应用程序中的一个页面需要允许用户通过姓氏或用户ID搜索特定学生。 找到学生后,页面应显示学生数据和他/她的课程表。 除了class级时间表外,我已经完成了所有工作。 我采用的方法(正如我们在课堂上学到的)是通过SqlDataReader获取查询结果并将其绑定到GridView。 这是在showStudentSchedule()中完成的。 当我针对我创建的数据库测试它时,此函数中的查询返回正确的结果,但显示学生计划的网格视图不会显示在页面上。 //StudentInformation.aspx //StudentInformation.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; public partial class StudentInformation : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string userStr = TextBox1.Text; int userInt; bool isNum = int.TryParse(userStr, […]

如何通过ADO.NET/C#使用Array / Table参数到Oracle(ODP.NET 10g)?

这个问题的答案很好,但我正在寻找能够将数组或表发送到Oracle过程的ADO.NET代码,然后在过程中使用该表。 在SQL Server表值参数中,它非常简单: CREATE TYPE [dbo].[IntTable] AS TABLE( [intvalue] [int] NOT NULL, PRIMARY KEY CLUSTERED ( [intvalue] ASC )WITH (IGNORE_DUP_KEY = OFF) ) GO CREATE PROCEDURE dbo.UseTable @SomeInt INT ,@IntTable dbo.IntTable READONLY AS BEGIN — Do whatever using @SomeInt and @IntTable like: INSERT INTO Assignments (masterid, childid) SELECT @SomeInt, intvalue FROM @IntTable END GO 然后在客户端: […]

如何将LINQ数据绑定到下拉列表

此代码的最后两行无法正常工作 – 结果将从LINQ查询返回。 我只是不确定如何成功地将结果中指示的列绑定到下拉列表的textfield和valuefield: protected void BindMarketCodes() { List mcodesList = new List(); LINQOmniDataContext db = new LINQOmniDataContext(); var mcodes = from p in db.lkpMarketCodes orderby 0 select p; mcodesList = mcodes.ToList(); //bind to Country COde droplist dd2.DataSource = mcodesList; dd2.DataTextField = mcodesList[0].marketName; dd2.DataValueField = mcodesList[0].marketCodeID.ToString(); }

的ExecuteScalar(); 使用scope_identity()生成“System.InvalidCastException:指定的强制转换无效”

我有一个接受各种数据的表单(通过文本框和复选框列表),在click事件中,他们将所有数据插入表中并选择scope_identity,然后将其存储在变量中,以便在插入checkboxlist项时使用它使用循环到另一个表 根据许多答案和例子,这应该工作得很好!..但它给了我这个错误: Exception Details: System.InvalidCastException: Specified cast is not valid. Line 66: int NewBrandId = (int)comm.ExecuteScalar(); 这是我的linkbutton方法代码: protected void lnkbtnUploadAndSubmit_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“MOODbCenterConnection”].ConnectionString); SqlCommand comm = new SqlCommand(“INSERT INTO Brands (BrandName, BrandLogo, BrandWebsite, IsBrandVisible) VALUES (@Name, @Logo, @Website, @IsVisible); SELECT scope_identity();”, conn); comm.Parameters.Add(“@Name”, System.Data.SqlDbType.NVarChar, 50); comm.Parameters[“@Name”].Value = txtbxBrandName.Text; comm.Parameters.Add(“@Logo”, […]

在C#中如何使用ExecuteNonQuery从存储过程中获取返回值

我有以下查询: create proc [dbo].[DeleteParts] @TransNo nvarchar (6), @fpart nvarchar(25) AS DECLARE @Returns BIT SET @Returns = 1 BEGIN TRY BEGIN TRANSACTION DELETE FROM PARTABLE WHERE TransNo = @TransNo and fpart = @fpart COMMIT END TRY BEGIN CATCH Print ‘Delete failed’ SET @Returns = 0 — Any Error Occurred during Transaction. Rollback IF @@TRANCOUNT > 0 […]

如何在使用ExecuteNonQuery()时收到错误消息?

我正在以这种方式执行命令: var Command = new SqlCommand(cmdText, Connection, tr); Command.ExecuteNonQuery(); 在命令中有一个错误,但.NET不会抛出任何错误消息。 我怎么知道命令没有正确执行,以及如何获得exception?

SqlBulkCopyerror handling/继续错误

我试图将大量数据插入SQL服务器。 我的目标表有一个名为“Hash”的唯一索引。 我想用SqlBulkCopy替换我的SqlDataAdapter实现。 在SqlDataAapter中有一个名为“ContinueUpdateOnError”的属性,当设置为true时,adapter.Update(table)将插入所有可能的行并使用RowError属性标记错误行。 问题是我如何使用SqlBulkCopy尽可能快地插入数据,同时跟踪哪些行被插入以及哪些行没有(由于唯一索引)? 以下是其他信息: 该过程是迭代的,通常按计划重新设定。 源表和目标表可能很大,有时可能有数百万行。 尽管可以首先检查哈希值,但每行需要两个事务(首先从目标表中选择哈希,然后执行插入)。 我认为在adapter.update(table)的情况下,检查RowError比检查每行的哈希命中要快。

没有EndExecuteNonQuery的BeginExecuteNonQuery

我有以下代码: using (SqlConnection sqlConnection = new SqlConnection(“blahblah;Asynchronous Processing=true;”) { using (SqlCommand command = new SqlCommand(“someProcedureName”, sqlConnection)) { sqlConnection.Open(); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue(“@param1”, param1); command.BeginExecuteNonQuery(); } } 我从不调用EndExecuteNonQuery。 两个问题,首先是因为使用陈述还是其他任何原因阻止了这个问题? 第二,它会破坏什么吗? 像泄漏或连接问题? 我只是想告诉sql server运行一个存储过程,但我不想等待它,我甚至不关心它是否有效。 那可能吗? 谢谢阅读。

错误’已经有一个与此命令关联的打开的datareader,必须先关闭’

运行时错误’已经有一个与此命令关联的打开的datareader,必须先关闭’ objCommand = new SqlCommand(“SELECT field1, field2 FROM sourcetable”, objConn); objDataReader = objCommand.ExecuteReader(); while (objDataReader.Read()) { objInsertCommand = new SqlCommand(“INSERT INTO tablename (field1, field2) VALUES (3, ‘” + objDataReader[0] + “‘)”, objConn); objInsertCommand.ExecuteNonQuery();//Here is the error } objDataReader.Close(); 我不能在这里定义任何存储过程。 任何帮助我们都会感激。