Tag: sql server

字符串.NET和T-SQL之间的比较差异?

在我编写的测试用例中,字符串比较似乎在SQL Server / .NET CLR之间的工作方式不同。 这个C#代码: string lesser = “SR2-A1-10-90”; string greater = “SR2-A1-100-10”; Debug.WriteLine(string.Compare(“A”,”B”)); Debug.WriteLine(string.Compare(lesser, greater)); 将输出: -1 1 这个SQL Server代码: declare @lesser varchar(20); declare @greater varchar(20); set @lesser = ‘SR2-A1-10-90’; set @greater = ‘SR2-A1-100-10’; IF @lesser < @greater SELECT 'Less Than'; ELSE SELECT 'Greater than'; 将输出: Less Than 为什么不同?

创建存储过程以添加自动增量作为其主要字段?

我试图通过C#将数据插入我的Sql-Server数据库。 我正在调用存储过程,然后希望它添加。 我不确定要做什么更改,但最终我希望它在存储过程中完成。 我的存储过程现在: CREATE PROCEDURE [dbo].[InsertTagProcdure] @TagID int, @Value nvarchar(200), @TagCount nvarchar(200) AS IF NOT EXISTS (SELECT NULL FROM Tag WHERE @TagID = @TagID) BEGIN INSERT INTO Tag (TagID,Value,TagCount) VALUES (@TagID,@Value,@TagCount) END 而我的C#代码: int TagID = int.Parse(txtTagID.Text); //This should fall away so auto increment. String Value = txtValue.Text; int TagCount = int.Parse(txtCount.Text); using (var […]

如何计算时间间隔?

我有一个问题,我解决了,但我写了一个很长的程序,我不能确定它涵盖了所有可能的情况。 问题: 如果我有一个主间隔时间 ( From A to B )和次要间隔时间 (很多或没有) (`From X to Y AND From X` to Y` AND X“ to Y“ AND ….`) 我希望在有效和最少数量的条件(SQL服务器过程和C#方法)中以几分钟的时间间隔将我的主间隔时间(AB)的所有部分从辅助时间间隔中除去 ? 例如:如果我的主要间隔从02:00 to 10:30并且说一个次要间隔从04:00 to 08:00 现在我想要这个结果: ((04:00 – 02:00) + (10:30 -08:00))* 60 图表示例: 在第一种情况下,结果将是: ((XA) + (BY)) * 60 当我有许多次要时期时会更复杂。 注意: 可能是仅当我必须将主周期[A,B]与至多两个并行的次要间隔集合的UNION进行比较时发生的次要间隔之间的重叠。第一组必须仅包含一个次要间隔而第二组必须包含set包含(很多或没有)次要区间。例如,在比较[A,B]和( 2,5 )的图中,第一组(2)由一个次级区间组成,第二组(5)由三个次要间隔。 这是最糟糕的情况,我需要处理。 例如 : […]

SQL SERVER中的连接池(快速) – 建议的数量?

是否有一个建议的连接数来自我用于连接池的每个应用程序..,我的应用程序使用asp.net和c#对抗“同一”服务器上的sql express。 我有5个应用程序正在运行,它们没有被密集使用,所有连接都被打开和关闭.. 所以我想把每个应用设置为min pool = 5 所以这5 x 5 = 25 可以sql表达处理25连接…实际上5个池和每个池5个连接? 我可以上十点吗? 是否有必要将MAX池属性放在连接字符串中以确保我不会超过每个池的数字? 任何帮助真正得到了帮助

C#调整jpg图像,转换为字节并使用varbinary保存到数据库中

我正在尝试调整我使用FileUpload控件上传的jpg图像,并在将其保存到数据库(SQL Server 2008)之前将其转换为byte(varbinary(MAX))。 我所做的和下面的代码显示我设法将其转换为字节并作为varbinary(MAX)保存到数据库中。 我想知道在完成所有这些function之前如何调整图像大小。 帮帮我。 谢谢! 阅读文件 string filePath = FileUpload1.PostedFile.FileName; string filename = Path.GetFileName(filePath); string ext = Path.GetExtension(filename); 根据文件扩展名设置contenttype string contenttype = String.Empty; switch (ext) { case “.jpg”: contenttype = “image/jpg”; break; } 转换为字节并使用varbinary保存到数据库中 if (contenttype != String.Empty) { Stream fs = FileUpload1.PostedFile.InputStream; BinaryReader br = new BinaryReader(fs); Byte[] bytes = br.ReadBytes((Int32)fs.Length); //insert […]

无法从用法中推断出方法的类型参数。 尝试显式指定类型参数

我正在尝试使用TextChanged()事件在文本框中填充SQL Server中的自动填充文本。 [WindowsForm, C#] 我有一个部分class级表格 TextChanged事件: private void textBoxFilterCName_TextChanged(object sender, EventArgs e) { DataTable dt = FillCustomerName(textBoxFilterCName.Text); List listNames = CustomerName.ConvertDataTableToList(dt); textBoxFilterCName.AutoCompleteMode = AutoCompleteMode.SuggestAppend; AutoCompleteStringCollection dataName = new AutoCompleteStringCollection(); dataName.AddRange(listNames.ToArray()); textBoxFilterCName.AutoCompleteCustomSource = dataName; textBoxFilterCName.AutoCompleteSource = AutoCompleteSource.CustomSource; } 当我调用此方法CustomerName.ConvertDataTableToList()时,我收到此错误。 无法从用法中推断出方法’CustomerName.ConvertDataTableToList(DataTable)’的类型参数。 尝试显式指定类型参数。 FillCustomerName()方法 public DataTable FillCustomerName(string cName) { DataTable dtName = new DataTable(); List listName = new […]

TimeZoneCode到TimeZoneInfo

在我们的MS动态CRM项目中,我们创建了一个批量用户上传批次。 批处理从excel文件中读取并对用户进行批量上载。 该批次需要设置的一件事是时区码。 在excel文件中,时区将被写为例如“UTC + 1” CRM使用的代码似乎是SQL服务器正在使用的时区代码,可以在此处找到。 映射这些最简洁的方法是什么? 我的想法到目前为止: 硬编码转换商店 以某种方式从CRM获取代码 以某种方式从SQL获取代码 目前我们刚刚使用硬编码值实现了我们自己的转换类。 有没有更好的办法? 我们能以某种方式利用.net TimezoneInfo类吗? 更新 为了获得所有CRM时区,我们执行了以下操作: var colSet = new ColumnSet(true); var query = new QueryExpression(TimeZoneDefinition.EntityLogicalName) { ColumnSet = colSet}; var timeZoneDefs = service.RetrieveMultiple(query).Entities.Select(tz => tz.ToEntity()); 但似乎唯一填充的属性是Id,Code,StandardName和UserInterfaceName。 似乎只有UI名称包含我们正在寻找的偏移量。 有没有办法确保加载Bias属性?

SQL Server CLR UDF Parallelism redux

我一直在研究SQL Server CLR UDF和并行性。 普遍的共识似乎是在SQL Server 2008及更高版本中,带有DataAccessKind.None的标量值CLR UDF应该允许并行执行。 但是,当我在SQL Server 2012的视图中使用我的标量值UDF时,它仍然会杀死连接中的并行执行等。 有什么特别的东西需要添加到我的C#代码或T-SQL UDF定义中,以表明它对于并行执行是安全的吗? 谢谢。

如何使用包含点(。)的列名称的Eval()?

在我的SQL Server表中有一个列slno. (是的,它包含一个点)在SQL Server中正常工作。 但是, 发出错误: DataBinding:’System.Data.DataRowView’不包含名为’slno’的属性。 怎么解决这个问题? 我无法更改数据库中的列名:我从stored procedure获取数据,因此我无法修改它。

unit testing插入/更新/删除

我用谷歌搜索了一下,并没有找到我需要的答案。 我正在使用SQL Server和LINQ为客户开发C#的网页。 我希望用户能够相互发送消息。 所以我所做的就是用实际进入数据库的数据对其进行unit testing。 问题是我现在依赖至少有2个用户,我知道他的ID。 此外,我必须自我清理。 这导致了相当大的unit testing,在一次测试中进行了很多测试。 让我们说我想更新一个用户。 这意味着我必须停止用户,更新它,然后删除它。 这在一个unit testing中有很多断言,如果失败并且更新,我必须手动删除它。 如果我以任何其他方式执行此操作,而不将数据保存到DB,我肯定无法知道更新后数据是否存在于数据库中等。 如果没有在一次测试中测试大量function的测试,那么正确的方法是什么?