Tag: sql

在这种情况下如何处理sql事务?

我是C#程序员。 我想清除这个复杂的概念。 如果有2个数据库:A和B.假设我想在两个数据库中插入记录但首先在A中然后在B中插入记录。假设在插入db B时发生exception。 情况是,如果B崩溃,还应回滚与db A的事务。 我需要做什么? 我知道我可以将SqlTransaction对象与SqlConnectionString类一起使用。 我可以为此准备一些代码吗?

在SQLite中执行数据透视表的最佳方法是什么?

我正在使用C#和SQLite来分割大量数据,我经常需要以数据透视表的forms显示我的数据。 我可以通过使用C#从另一个查询创建SQL命令轻松地使我的枢轴动态化,但我仍然无法决定哪种方式进行旋转本身,所以我希望听到一些关于这个问题的程序员的意见比我.. 我有三种方法。 假设我们有一个名为tData的简单表,其中包含三列:“row”表示该数据的行号,“col”表示列号,“val”表示该值。 正统的方法是使用CASE表达式: SELECT row, sum(CASE col WHEN 1 THEN val END) AS col1, sum(CASE col WHEN 2 THEN val END) AS col2, sum(CASE col WHEN 3 THEN val END) AS col3 FROM tData GROUP BY row 但是,我想也许它可能会更快,如果我放弃CASE语句并直接在值上使用逻辑表达式,利用true == 1和false == 0的事实: SELECT row, sum((col=1)*val) AS col1, sum((col=2)*val) AS col2, sum((col=3)*val) AS col3 […]

MVC 4 / Entity Framework中的自定义查询?

我目前有一个使用ASP.net MVC 4和entity framework构建的工作CRUD应用程序。 我对表使用EDMX模型,这些模型部署在实时服务器上的数据库中。 我想知道如何查询控制器中的表以返回一个视图,该视图包含来自每个表(连接)的列,作为一个表,基于从查询字符串返回的列标题 这些是我的表,我在他们各自的模型中为他们设置了getter和setter,模型是“Model1.edmx” AccCompany AccControl ID ID Code ControlCode CompanyID Nominal AccountsCompany CostCentre Company Department 我只是不明白如何使用自定义方法连接表,作为MVC框架。 EF似乎自己做了一切 – 就实际查询而言……

在SSIS中循环表时,元数据刷新

情况:我有一个查询列表,以便每个选择来自各自表的数据。 我想创建这个查询列表作为SSIS对象变量,并使用查询作为DFT中的OLE DB源迭代每个查询。 有没有办法做到这一点,以便在我们使用与第一个不同的表切换到查询后,DFT源组件没有元数据不正确的问题? 目的地也将改变。 我知道您可以延迟validation,但我不相信这有助于切换元数据。

当其中一个值包含特殊字符时,存储过程失败

我有一个特殊字符的问题。 因为当有一个’字符时,代码将失败。 如何使用下面的存储过程使其与特殊字符一起使用。 internal bool AddRecord() { string SQL = “exec SqlInsert “; SQL += “‘” + _sqlComputer + “‘, “; SQL += “‘” + _lastUpdatedBy + “‘, “; SQL += “‘” + DateTime.Now + “‘, “; SQL += “‘” + _softwareName + “‘ “; return SqlDatabase.Overig(SQL); }

将计数和数据作为json返回到extjs网格中

我怎样才能返回两个Json对象? 基本上我试图从sql db发送一堆数据和db中的行数。 下面的代码成功发送了myData ,但现在我还要发送count 。 string sqlquery = “SELECT Q1, Q2, Q3, Q4, Improvements, Comments FROM myTable”; conn.Open(); SqlDataAdapter cmd = new SqlDataAdapter(sqlquery, conn); SqlCommand comd = new SqlCommand(sqlquery, conn); DataSet myData = new DataSet(); cmd.Fill(myData, “myTable”); comd.CommandText = “SELECT COUNT(*) FROM myTable”; Int32 count = (Int32)comd.ExecuteScalar(); comd.ExecuteNonQuery(); conn.Close(); return JsonConvert.SerializeObject(myData, Formatting.Indented, new JsonSerializerSettings […]

在具有标识主键的sql数据库中添加一行

我有一个简单的测试数据库,它有一个名为ID的列,它是一个自动设置的主键。 我试图在我使用sqladapter创建的数据表中添加一个新行 当我将新行的ID列留空时认为sql会添加它会显示以下错误: “Column “ID” doesn’t not allow nulls 我解决了它,但给了ID任何值,如dr[“ID”] = 99999 并且它工作,但现在当SQL数据库忽略该值并且只给它正确的数字时,数据表具有99999 ID,这使得它有点令人困惑,如果我尝试插入另一条记录,可能会抛出错误 我怎么解决这个问题? 对于那个很抱歉: DataRow dr = dt.NewRow(); dr[“Name”] = “fds”;//E.Name; dr[“Age”] = 12;// E.Age; dr[“DateOfBirth”] = “1-1-1999”;// E.DoB; //dr[“ID”] = 99999; dt.Rows.InsertAt(dr, dt.Rows.Count – 1); DBOperations.UpdateTable(dt); MessageBox.Show(“Record added successfully”); static internal void UpdateTable(DataTable dt) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[“MyConnectionString”].ConnectionString); SqlDataAdapter Adapter […]

C#:Services访问运行sql语句的dataprovider类 – 正确的方法?

这是一种常见的和/或好的方法吗? 在我的ViewModel(Wpf)或Presenter(WinForms)中,我这样做: ICustomerService customerService = MyService.GetService(); ICustomerList customerList = customerService.GetCustomers(); CustomerService类如下所示: public class CustomerService : ICustomerService { public ICustomerList GetCustomers() { return _customerDataProvider.GetCustomers(); } } public class CustomerDataProvider() { public ICustomerList GetCustomers() { // Open SQL connection, // get back a SqlDataReader and iterate it // in the loop write all data into a ICustomer […]

将大型数据表存储到数据库中的有效方法

我已经从文本文件动态创建了一个数据表。现在我需要将值存储在database.i中找到一些使用foreach和data行的示例,它工作正常 foreach (DataRow row in dt.Rows) { // insert statement } 我怀疑数据表可能包含数千行,使用foreach循环是否有效,或者我应该采用其他一些技术,如批量复制(我不知道它,所以请帮助我)。谢谢你

备份数据库mdf和entity framework

我有一个数据库(mdf文件),我正在接近entity framework。 是否可以备份MDF文件。 我已经尝试但是SMO但问题是因为我使用的是mdf文件,数据库名称为空。 我读过它是自动生成的。 我的备份代码: String destinationPath = “C:\\”; Backup sqlBackup = new Backup(); sqlBackup.Action = BackupActionType.Database; sqlBackup.BackupSetDescription = “ArchiveDataBase:” + DateTime.Now.ToShortDateString(); sqlBackup.BackupSetName = “Archive”; BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath, DeviceType.File); ServerConnection connection = new ServerConnection(“.\\SQLEXPRESS”); Server sqlServer = new Server(connection); StringCollection sc = new StringCollection(); sc.Add(Environment.CurrentDirectory + “\\db\\Xmain.mdf”); //Bin directory sc.Add(Environment.CurrentDirectory + “\\db\\Xmain_log.ldf”); […]