草庐IT

SQL之插入

全部标签

c# - 多次执行相同的 SQL 查询时重用 SqlCommand 是否更好?

当使用相同的查询但不同的参数查询数据库时,是否更好:一次性完成,还是创建两个单独的查询?单次使用示例:using(SqlCommandaddProduct=newSqlCommand(@"insertinto[Products].[Products]([Name],[Price])values(@name,@price)",sqlConnection)){//Insertthefirstproduct.addProduct.Parameters.AddWithValue("@name","Product1");addProduct.Parameters.AddWithValue("@p

c# - Entity Framework 6 和 SQL Server 序列

我在数据库优先项目中使用EF6。我们需要使用序列,这是SQLServer2012中引入的一项功能(我相信)。在表中,标识列使用以下方式设置了默认值:(NEXTVALUEFOR[ExhibitIdentity])这是因为我们有两个表来存储不同部门的展览信息,但我们需要标识在两个表中都是唯一的,因为它随后将用作许多其他共享公用表的引用。我的问题是在EntityFramework中使用它,我用google搜索了但找不到太多关于EF6是否支持它们的信息。我尝试将EFdesigner中的StoreGeneratedPattern设置为Identity但是在保存时提示零行受到影响,因为它正在使用s

c# - 百万插入 : SqlBulkCopy timeout

我们已经有一个可以处理所有连接字符串的运行系统(db2、oracle、MSServer)。目前,我们正在使用ExecuteNonQuery()进行一些插入操作。我们想通过使用SqlBulkCopy()而不是ExecuteNonQuery()来提高性能。我们有一些客户拥有超过5000万条记录。我们不想使用SSIS,因为我们的系统支持多个数据库。我创建了一个示例项目来测试SqlBulkCopy()的性能。我为MSServer创建了一个简单的读取和插入函数这是一个小函数:publicvoidinsertIntoSQLServer(){using(SqlConnectionSourceConn

c# - 如何使用C#向文件中插入字符

我有一个很大的文件,我必须在特定位置插入某些字符。在C#中执行此操作而无需再次重写整个文件的最简单方法是什么。 最佳答案 文件系统不支持在文件中间“插入”数据。如果您确实需要可以按某种方式写入的文件,我建议您考虑使用嵌入式数据库。您可能想看看SQLite或BerkeleyDB.然后,您可能正在使用文本文件或遗留二进制文件。在这种情况下,您唯一的选择是重写文件,至少从插入点到结尾。我会看看FileStream在C#中执行随机I/O的类。 关于c#-如何使用C#向文件中插入字符,我们在Sta

c# - LINQ-to-SQL:返回单个标量值的存储过程?

我正在将LINQ-to-SQL用于查询遗留数据库的应用程序。我需要调用一个存储过程,它选择一个整数值。更改存储过程不是一种选择。设计者用这个签名创建了一个方法:privateISingleResultNextRowNumber([Parameter(DbType="Int")]System.Nullableincrement,[Parameter(DbType="Char(3)")]stringdataset)我希望返回类型是int。我如何使用LINQ-to-SQL执行此操作? 最佳答案 对于标量函数(UDF)而不是SP,这将是微不

c# - 如何从 Windows 10 UWP 应用程序连接到 SQL 服务器数据库

我正在尝试从通用Windows应用程序连接到本地MSSQL数据库。我正在使用UWP制作LOB应用程序,以支持桌面、平板电脑和移动设备的使用。尝试连接到本地(内联网)SQL服务器数据库时,我习惯使用SqlConnection的实例连接到本地服务器,但由于SqlConnection未包含在UWP中使用的.NET子集中,因此在使用UWP时如何完成?我查看了officialMicrosoftsamples以及how-toguides,并且没有找到关于不是Azure数据库的数据库连接。DbConnection这似乎是一个不错的选择,但不能使用,因为它是抽象的,而且它的子项(例如Data.SqlC

c# - 与 SQL Server 的初始连接速度很慢。为什么?

我遇到过在两个站点安装C#应用程序的情况,这两个站点与SQLServer的初始连接速度极慢。我编写了一个测试应用程序来验证减速发生的位置,它是在第一个SQLConnection.Open语句上。通过命名管道建立与服务器的连接大约需要41秒。我们认为这可能是DNS问题,但使用TCP/IP连接时速度同样慢。建立初始连接后,连接被合并,应用程序正常响应。工作站和服务器都是运行Windows7Pro、Core2Duo3.16Ghz和4GBRam的不错机器。我确实在微软论坛上找到了以下文章:http://social.msdn.microsoft.com/Forums/en/windowscom

c# - 什么.NET StringComparer 相当于 SQL 的 Latin1_General_CI_AS

我在我的数据库和我的C#代码之间实现了一个缓存层。这个想法是根据查询的参数缓存某些数据库查询的结果。数据库使用默认排序规则-SQL_Latin1_General_CP1_CI_AS或Latin1_General_CI_AS,我相信基于一些简短的谷歌搜索,这等同于相等,只是排序不同。我需要一个.NETStringComparer,它可以为我提供相同的行为,至少对于相等性测试和哈希码生成,就像数据库的排序规则正在使用的那样。目标是能够在C#代码中的.NET字典中使用StringComparer来确定特定字符串键是否已在缓存中。一个真正简化的例子:varcomparer=StringComp

c# - 如何从 SqlDataReader 读取 SQL Server COUNT

我正在尝试使用C#SqlDataReader查找表的计数,但我一直在获取invalidattempttoreadwhennodataispresent我的代码:stringsql="SELECTCOUNT(*)FROM[DB].[dbo].[myTable]";SqlCommandcmd=newSqlComman(sql,connectionString);SqlDataReadermySqlDataReader=cmd.ExecuteReader();intcount=mySqlDataReader.GetInt32(0);//HereiswhereIgettheerror.我知道我

c# - 如何清除 Linq to Sql 上的 DataContext 缓存

我正在使用LinqtoSql查询某些数据库,我只使用Linq从数据库中读取数据,并通过其他方式对其进行更改。(这是无法更改的,这是我们正在扩展的应用程序的限制,所有更新都必须通过其sdk)。这很好,但是我遇到了一些缓存问题,基本上,我使用Linq查询一行,然后通过外部方式删除它,然后如果我再次使用linqi查询该行,我会在外部创建一个新行得到了旧的(缓存的)数据。我无法关闭对象跟踪,因为这似乎会阻止数据上下文自动加载相关属性(外键)。有什么方法可以清除DataContex缓存吗?我在网上找到了一个方法,但它似乎不安全:http://blog.robustsoftware.co.uk/2