Tag: sql server

在C#和SQL Server中不同地将int转换为guid

在C#和SQL Server中将int转换为guid时,我得到不同的值。 在C#中我使用这种方法 public static Guid Int2Guid( int value ) { byte[] bytes = new byte[16]; BitConverter.GetBytes( value ).CopyTo( bytes, 0 ); return new Guid( bytes ); } Console.Write( Int2Guid( 1000 ).ToString() ); // writes 000003e8-0000-0000-0000-000000000000 在SQL Server中我使用 select cast(cast(1000 as varbinary(16)) as uniqueidentifier) — writes E8030000-0000-0000-0000-000000000000 他们为什么表现不同?

从OleDbCommand中省略命名参数

我有一个简单的存储过程,需要6个参数。 假设它们是@a, @b, @c, @d, @e, @f它们都是可选的,默认值为null 。 我需要知道如何仅使用其中一些参数调用存储过程。 我知道一般步骤: 定义连接并打开它。 定义命令对象 将参数添加到命令对象。 执行命令。 现在,对于@a, @b, @c, @d, @e, @f每一个@a, @b, @c, @d, @e, @f我使用Parameters.Add()来添加该参数。 问题是:如果我想用@a和@f调用存储过程怎么办,我还需要Add()其他参数吗? 或者,如果我只添加2个参数,存储过程将如何知道我提供的参数?

通过iTextSharp ASP.NET将二进制图像数据从SQL Server检索为pdf

我正在尝试从我的SQL服务器检索二进制图像数据,并使用follow方法将其导出到我的pdf文件中 phrase.Add(new Chunk(“Image :”, normalFont)); Byte[] bytes = (Byte[])dr[0]; Response.Buffer = true; Response.Charset = “”; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = “image/jpg”; Response.BinaryWrite(bytes); Response.Flush(); Response.End(); phrase.Add(bytes); table.AddCell(phrase); 当我尝试使用上述方法将二进制图像数据显示到我的webapp中时,它可以正常工作。 不幸的是,当我想将图像导出到我的pdf文件时,它不起作用。 我在phrase.Add方法上有这样的错误。 我知道我做错了什么但我无法弄明白 这是我的PDF按钮的整个后端代码。 protected void btnPDF_Click(object sender, EventArgs e) { var doc1 = new Document(); var filename = “MyTestPDF” + DateTime.Now.ToString(“yyyyMMddHHmmssfff”) + “.pdf”; var output = new FileStream(Path.Combine(“C:\\Users\\apr12mpsip\\Desktop\\New folder”, […]

数据是空的。 在C#.net中连接两个表后,无法在空值上调用此方法或属性

在我的代码中加入表后,出现错误“数据为空。此方法或属性无法在空值上调用”。 请查看我的代码,请帮忙。 我试图在谷歌寻找答案,但仍然没有得到我想做的。 这是导致上述错误的代码: private static string m_sConnectionString = ConfigurationManager.ConnectionStrings[“NomsConnection”].ConnectionString; private static string m_sReport = “SELECT r.[RequestID],r.[RequestDate],r.[PARNumber],r.[StatusID],r.[PurchaseComment]” // 0 – 4 + “,r.[UID],r.[MyUID],r.[FullName],r.[Email]” // 5 – 8 + “,r.[EntityName],r.[DepartmentName],r.[DepartmentID]” // 9 – 11 + “,r.[LastBy]” // 12 + “,r.[ProgramID],r.[ProgramCode],r.[ProgramName],r.[CostCenterCode]” // 13 – 16 + “,p.[PartDesc],p.[SupplierID],p.[AccountType],p.[CurrName],p.[PartQuantity],p.[PiecePrice]” + “FROM [NOP_PR].[dbo].[Requests] r ” + “JOIN [NOP_PR].[dbo].[Parts] p on […]

每隔06:30 SQL Server查询计数值

请帮我。 我的数据和查询有问题。 请先看看我的桌面设计。 CREATE TABLE [dbo].[my_table]( [ID] [int] NOT NULL, [date] [datetime] NULL, [value] [int] NULL, [product_code] [varchar](50) NULL, [expectedvalue] [int] NULL, CONSTRAINT [PK_my_table] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO 这是数据,所有数据都是在每分钟从机器获得的。 数据场景1(06:30的值不为0): INSERT […]

TFS工作项查询以查找未包含在发行版中的任务

我不是TFS专家,但我经常使用它来处理任务,我在工作项部分创建了几个自定义查询。 其他人处理部署,他们有时会错过与发布无关的任务。 所以,我想创建一个自定义查询,返回不包含在“发布中”的任务,以及Project。 我似乎找不到要过滤的正确字段,或者我没有正确过滤。 到目前为止,我有一个项目条款: [And/Or] [Field] [Operator] [Value] Project = project name 以及一个条款: [And/Or] [Field] [Operator] [Value] And Work Item Type = Release Package 但只返回Release Package工作项类型的项目。 我认为任务与发布包工作项相关联或链接,但不知道如何查询。 Thx提前。 顺便说一句,这是我最喜欢的自定义TFS查询: [And/Or] [Field] [Operator] [Value] Assigned To Was Ever @Me 您可能已经猜到,此TFS查询将返回分配给我的所有项目。 更新:这个页面有很多帮助: https : //www.visualstudio.com/en-us/docs/work/track/using-queries 使用“运行”按钮旁边的下拉列表,我更改为“工作项和直接链接”。 这使得“筛选链接的工作项”的新部分可用。 这就是我建立的:

使用企业库的ExecuteSprocAccessor方法和generics

我试图通过使用带有generics的.NET Enterprise Library的ExecuteSprocAccessor方法,使用一个类来处理数据库上的所有CRUD。 在我的数据层中,我尝试这样的事情: public static class CRUDDatabase { private static Database db = DatabaseFactory.CreateDatabase(“ITS”); public static T SelectSingle(string sprocName, int id) { return db.ExecuteSprocAccessor(sprocName, id).First(); } } 但是,我在SelectSingle()方法的返回行上得到一个构建错误,指出: ‘T’必须是具有公共无参数构造函数的非抽象类型,才能在generics类型或方法’Microsoft.Practices.EnterpriseLibrary.Data.DatabaseExtensions.ExecuteSprocAccessor(Microsoft.Practices.EnterpriseLibrary)中将其用作参数’TResult’。 Data.Database,string,params object [])’ SelectSingle()方法背后的想法是从数据库传入所需对象的存储过程名称和记录ID。 最终我会有SelectAll(),Update(),Delete()等。这些方法中的参数会有所不同,但你会明白我想要完成的任务。 在阅读了这个错误之后,我开始认为这可能是不可能的,但有人知道这是否可行? 此外,我的数据库中的字段与我的类中的字段匹配1:1,这就是为什么我没有指定任何映射器。 谢谢

如果sqlexpress位于安装了SQLSERVER2008的同一台机器上,则SmoApplication.EnumAvailableSqlServers()不会列出默认实例

我正在使用SMO来查找网络的可用sqlservers。但是在我运行的一台机器上 应用程序它不提供默认实例名称,但它给出了所有其他机器 命名和默认实例将显示。 观察我的场景。 例如:机器名称:rkwrk3-vm-sr(从我运行app的本地机器,其中 sqlserver2008安装) 在这实际上我有sql2008作为默认实例和sqlexpress(2005)作为命名实例… 但是它只显示了一个实例rkwrk3-vm-sr \ sqlexpress,而且它不会显示rkwrk3-vm-sr。 和其他一些机器Hr-2k3-tm(安装了sqlserver2005) 为此它显示Hr-2k3-tm和Hr-2k3-tm / sqlexpress 我该如何解决这个问题。任何帮助都会得到极大的赞赏。 提前致谢。

从SQL Server DB导出PDF并将Map写入文本文件

我需要编写一个应用程序或Query来将大量PDF文件导出到文件中,并创建一个分隔文本文件,该文件显示文件的位置并包含记录的ID。 我正在考虑做的是使用一个控制台应用程序,它会在从数据库导出PDF后将条目写入文本文件,这样我在编写文本文件时就可以将所有信息放在一起,这样我就可以确保所有分隔文本文件中的数据是准确的。 起初我正在考虑使用数据集来执行此操作,但是将有超过50,000行数据。 我不太确定DataTable会更好 我也在考虑使用BCP实用程序,但是从我正在阅读的内容中,导出并没有从Data中返回PDF文件,这是真的吗? 我可能会认为自己是初学者,编程就像这样。 我应该如何使用这样的数据结构? 我会使用光标,如果是这样,我将如何设置它以适应我正在做的事情? 更新 我将尝试使用DataSet选项,但是使用do while循环一次将其限制为1天的数据,这样我就可以从数据的开头每天循环到今天的日期。 所以我将做一天的数据,然后摆脱DataSet,然后做下一个日期。 有没有人在我的逻辑中看到会导致问题的任何内容?

用于馈线应用的multithreading架构

这是我在这里的第一篇文章,如果结构不合理,请道歉。 我们的任务是设计一个工具,它将: 读取(帐户ID)文件,CSV格式 从Web下载每个帐户的帐户数据文件(通过Id)(REST API) 将文件传递给将生成报告的转换器(财务预测等)[~20ms] 如果预测阈值在限制范围内,运行解析器来分析数据[400ms] 为上面的分析生成报告[80ms] 将生成的所有文件上传到Web(REST API) 现在所有这些个点都相对容易。 我很想知道如何最好地构建一些东西来处理这个并在我们的硬件上快速有效地完成它。 我们必须处理大约2百万个账户。 方括号可以了解每个流程平均需要多长时间。 我想使用机器上可用的最大资源–24核Xeon处理器。 这不是一个内存密集型过程。 使用TPL并将每个作为一项任务创建是一个好主意吗? 每个都必须按顺序发生,但许多可以一次完成。 不幸的是,解析器不是multithreading感知的,我们没有源(它本质上是我们的黑盒子)。 我的想法是这样的 – 假设我们正在使用TPL: 加载帐户数据(基本上是CSV导入或SQL SELECT) 对于每个帐户(Id): 下载每个帐户的数据文件 继续使用数据文件,发送到转换器 ContinueWith check threshold,发送给解析器 ContinueWith生成报告 ContinueWith上传输出 这听起来可行还是我没有正确理解? 以不同的方式分解步骤会更好吗? 我有点不确定如何处理解析器抛出exception的问题(它非常挑剔)或者当我们上传失败时。 所有这些都将在预定的作业中,作为控制台应用程序在下class后运行。