Tag: SQL服务器

如何将数组/数据表之类的变量传递给SQL服务器?

有时您需要使用数据表中的许多行来升级数据库,或者您拥有一个充满数据的数组,而不是将所有这些数据放在一个字符串中然后在SQL SERVER中拆分,或者不是在数据表中迭代数据表。代码逐行和更新数据库,还有其他方法吗? 除了SQL SERVER 2005中的传统变量之外还有其他类型的变量吗?

仅当SQL Server中尚不存在记录时,如何添加记录?

我在C#中有一个带有Sql-server数据库的项目。 在该数据库中,我有一个名为’Process’的表和名为’process_name’,’Full_Name’和’Version’的列(所有类型:nvarchar(50))。 我想写一个将添加新进程的查询,只有在表中不存在的情况下。 我怎样才能做到这一点? 非常感谢,

SqlCommand超时即使在SQL Studio中同样的查询速度很快

我有我认为是一个简单的查询,我从我的小日志处理应用程序执行。 此方法的目的是简单地从日志表中获取最高日期值: private DateTime GetLastEntryDate(string serverName, string siteName) { DateTime dt = DateTime.MinValue; using (var con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[“LogParserDB”].ConnectionString)) { con.Open(); using (var cmd = new SqlCommand(“SELECT MAX(date) FROM iislogs WHERE host=@Host AND site=@Site”, con)) { cmd.CommandTimeout = 120; cmd.Parameters.AddWithValue(“Host”, serverName); cmd.Parameters.AddWithValue(“Site”, siteName); var result = cmd.ExecuteScalar(); if (result != DBNull.Value) { dt = (DateTime)result; […]

有没有办法在c#中创建sqllocaldb实例?

在c#中有没有办法直接创建SQLLOCALDB实例? 目前,我们使用sqllocaldb.exe,但需要能够在不使用外部可执行文件的情况下执行此操作。

SQL – 将NULL插入DateTime

我有一个表格,我将Datetime添加到某些列。 我使用存储过程将值插入表中。 在存储过程中,我有变量接受null以插入表中。 我的问题是当我尝试在我的表列中插入一个空值时,我在列中得到1900-01-01。 我该怎么做而不是这个默认值只插入colulmn中的NULL? 这是我的SP: CREATE PROCEDURE dbo.Insert @InserID int, @InsertDate Datetime = null, AS Insert into Tables(InsertID, InsertDate) Values(@InsertID, @InsertDate) 我这样做是为了分配一个空值: System.Data.SqlTypes.SqlDateTime getDate; //set DateTime null getDate = SqlDateTime.Null; if (InsertDate.Text == “”) { cmd1.Parameters[“@InsertDate”].Value = getDate; } else { cmd1.Parameters[“@InsertDate”].Value = InsertDate.Text; } 添加到我的表列的值不是NULL,它是1900-01-01。 我该怎么办?

无法将用户存储在默认的MVC应用程序中

我之前使用授权时遇到了一些问题,因此我在Azure上的新资源组中获得了全新的一切 – 新计算机,新操作系统,VS的全新安装,新应用和数据库。 整个shabang。 我可以确认我可以登录到Azure DB,如下面的屏幕截图所示。 我可以看到数据库,表格,用户等。 问题是,虽然它在本地工作(使用我自动提供的默认连接字符串),但它在Azure中表现不佳(尽管我从那里使用发布文件)。 它说了一些关于文件未找到的内容,根据这个答案 ,我需要更改连接字符串。 我改变后,我得到以下错误。 请注意防火墙已打开,我可以在运行应用程序代码时访问数据库。 我觉得在自动配置身份validation部分时会出现问题。 不过,我对如何解决问题没有想法。 [SqlException(0x80131904):用户’Chamster’登录失败。 已为此会话分配了跟踪ID“09121235-87f3-4a92-a371-50bc475306ca”。 在需要帮助时,请将此跟踪ID提供给客户支持。] 我正在使用的连接字符串是这个。 Server=tcp:f8goq0bvq7.database.windows.net,1433; Database=Squicker; User ID=Chamster@f8goq0bvq7; Password=Abc123(); Encrypt=True; TrustServerCertificate=False; Connection Timeout=10; 这个问题困扰了我一段时间,我会在两天内把它给它。 任何建议都热烈赞赏。

使用多个数据读取器

我正在.net框架上用C Sharp开发一个WinForm应用程序。 我现在使用的数据库字符串是 当我使用Microsoft SQL Server 2005进行开发时,如上所述,我可以使用MultipleActiveResultSets属性同时使用2个数据读取器。 用于调用2个数据读取器的方法如下: public static void SignUpControllerDay(DateTime Date, System.Windows.Forms.DataGridView PassedGrid) { string sql_SignUp = String.Format(@”SELECT Emp_ID as Emp_ID, Name as Name, Sum(Sum) as Sum FROM (SELECT DISTINCT o.Date, e.Emp_ID as Emp_ID, e.First_Name+ ‘ ‘ +e.Last_Name as Name, o.Quantity as Sum FROM Employee e,OT_Hours o,Position p,Signup_Sheet s WHERE e.Emp_ID=o.Emp_ID and e.Emp_ID […]

对OrmLite的SQL Server特定类型支持

我刚刚学会了一种天才类型,它可以简化我的大部分工作,但看起来我的首选ORM无法识别它。 是否有一种解决方法让ServiceStack OrmLite识别SQL Server中的HierarchyId ? 有关要修改哪些文件的任何建议以及任何提示如何继续? 编辑: 这是对问题的更好说明。 我有以下课程: public class MyClass { public int Id { get; set; } public SqlHierarchyId HierarchyId { get; set; } } SqlHierarchyId是自定义SQL Server数据类型。 OrmLite将为它生成以下类: 有趣的是,我可以在属性上使用[StringLength(255)]属性,它将获得varchar(255)类型: 我在这里手动更改了表,并添加了列数据类型来展示差异。 请注意第三列的数据类型: 拥有varchar表示与其他DBMS完全没问题,因为它可以在C#中转换 ,但是对于SQL Server,最好让它与相应的数据类型匹配。 这将使视图的创建更容易(由于hierarchyid数据类型的内置函数)。 我知道EF4不支持这种类型(不确定5)。 我还浏览了GitHub上的OrmLiteDialectProviderBase.cs文件,我可以看到支持的ADO.NET数据类型列表。 我的简单问题是:这是ADO.NET的一个强大限制,还是在OrmLite中可以看到这个? 如果有任何建议,我愿意帮助扩展这部分内容。

检查SQL Server数据库表中是否存在表或列

在SQL Server数据库中创建列或表之前,我想检查是否存在所需的表和/或列。 到目前为止,我已经四处寻找并找到了两种方法。 存储过程,我不想使用 通过使用SqlCommand.ExecuteScalar()方法并捕获exception来确定表/列是否存在,这对我来说是一个解决方案,但不是一个完美的解决方案。 是否有另一种方法来检查SQL Server中是否存在表/列?

在代码中复制SQL Server数据库

我有两个SQL Server连接字符串,CX和CY。 我需要做的是 确保CY中没有表格。 备份数据库CX。 将其恢复为CY。 还没找到我要找的东西。 我不想要一个工具来执行此操作,我需要在运行时使用C#代码执行此操作,因为添加新客户端的操作需要将主数据库复制到空DB。 我不能使用预制脚本,因为我还需要复制数据,并且主数据库可能在添加新客户端之前几秒就已更新。 === UPDATE === 我正在使用Smo.Backup和Smo.Restore。 当我尝试恢复时,我得到: 错误3154备份集包含现有数据库以外的数据库的备份。 谁能告诉我如何解决这个问题? 除此之外,我有一个有效的解决方案! 谢谢 皮特