Tag: sqldataadapter

将用户友好的Excel工作表导入到具有许多外键的SQL Server表中

我有一张由HR员工填写的Excel工作表,上面有成千上万的客户logging: 用户友好的Excel工作表示例截图 我的客户的SQL Server表模式看起来像这样 CREATE TABLE [dbo].[Clients] ( [ID] INT IDENTITY (1, 1) NOT NULL, [Name] NVARCHAR (100) NOT NULL, [Photo] VARCHAR (200) NOT NULL, [PolicyID] INT NOT NULL, [BirthDay] DATE NOT NULL, [Gender] BIT NOT NULL, [Title] NVARCHAR (100) NULL, [Nationality] NVARCHAR (100) NOT NULL, [Relationship] NVARCHAR (50) NOT NULL, [ClassID] INT NOT NULL, […]

通过C#获取创buildExcel的错误:转换到COM上下文0x56b098

我想创build一个Excel文件通过C#代码和情况是,我有一个存储过程返回15000条logging,我通过SqlDataAdapter读取数据,然后数据填充在DataTable ,然后我填写数据到Excel文件,但过了一段时间,应用程序抛出错误。 错误: 转换到COM上下文0x56b098此RuntimeCallableWrapper失败,出现以下错误:系统调用失败。 (从HRESULTexception:0x80010100(RPC_E_SYS_CALL_FAILED))。 这通常是因为创build此RuntimeCallableWrapper的COM上下文0x56b098已断开连接,或者正在忙于执行其他操作。 从当前COM上下文(COM上下文0x56af28)释放接口。 这可能会导致损坏或数据丢失。 为了避免这个问题,请确保所有COM上下文/公寓/线程都保持活动状态,并且可用于上下文转换,直到应用程序完全使用表示其内部的COM组件的RuntimeCallableWrappers完成。 以下是我正在使用的代码 public DataTable getData(string query,string year,string month) { SqlDataAdapter da = new SqlDataAdapter(); DataTable dt = new DataTable(); SqlCommand cmd = new SqlCommand(query,con); cmd.Parameters.AddWithValue("@YR", year); cmd.Parameters.AddWithValue("@MN", month); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 0; da.SelectCommand = cmd; da.Fill(dt); return dt; } 主要方法 private void btn_MRRRetention_Click(object sender, EventArgs […]