Tag: tsql

在SqlCommand中调用函数

public void CreateMySqlCommand() { SqlCommand myCommand = new SqlCommand(); myCommand.CommandText = “SELECT * FROM Categories ORDER BY CategoryID”; myCommand.CommandTimeout = 15; myCommand.CommandType = CommandType.Text; } 我可以在myCommand.CommandText中使用Sql Server函数吗?为什么?

CLARION日期转换C#+ DATE ADD / SUBTRACT

*(这是针对ISV数据库的,因此我对此进行逆向工程并且无法更改)… 如何在C#中执行以下日期转换为int(visa / versa)转换… 所以说日期是: 5/17/2012 它被转换为int 77207 在数据库中。 起初我以为这是一个朱利安日期,但似乎并非如此。 我正在使用朱利安日期问题的方法搞错,但这不匹配。 var date = ConvertToJulian(Convert.ToDateTime(“5/17/2012”)); Console.WriteLine(date); public static long ConvertToJulian(DateTime Date) { int Month = Date.Month; int Day = Date.Day; int Year = Date.Year; if (Month < 3) { Month = Month + 12; Year = Year – 1; } long JulianDay = Day + […]

C#Hash SHA256Managed不等于TSQL SHA2_256

我使用哈希密码和盐(用户名)。 问题是c#的散列值不等于我通过TSQL脚本添加到数据库的初始值。 TSQL: UPDATE [Users] SET Password = HASHBYTES(‘SHA2_256’, ‘test123’+UPPER([UserName])) GO; C#: var passBytes = new UnicodeEncoding().GetBytes(pass); var saltBytes = new UnicodeEncoding().GetBytes(userName.ToUpper()); var dataToHash = new byte[passBytes.Length + saltBytes.Length]; Array.Copy(passBytes, dataToHash, passBytes.Length); Array.Copy(saltBytes, dataToHash, saltBytes.Length); var sha = new SHA256Managed(); return sha.ComputeHash(dataToHash); 我想这与编码有关。 但我不知道如何解决这个问题。 UserName是varchar(50) DB是现有的,因此更改varchar将不那么容易。 我已经尝试过: UPDATE [Users] SET Password = HASHBYTES(‘SHA2_256’, N’test123’+UPPER([UserName])) GO;

如何在entity frameworkLINQ To Entities中进行联盟?

我遇到了一个我必须使用Union all的场景,我怎样才能在LINQ中实现这样的实体?

如何从SQL Server数据库中获取以给定字符串开头的条目?

我有一个数据库,在标签系统中使用了很多单词。 我已经为自动完成框创建了必要的代码,但我不确定如何以最有效的方式从数据库中获取匹配的条目。 我知道LIKE命令,但在我看来它更像是一个EQUAL命令。 我只得到与我输入的单词完全相同的单词。 我的计划是读取每一行,然后使用C#的string.StartsWith()和string.Contains()函数来查找可能适合的单词,但我认为对于大型数据库,读取每一行可能效率低下然后过滤它们。 有没有办法只读取以SQL Server开头或包含给定字符串的行?

如何仅在sql中为特定连接创建事务?

我想在sql中为特定连接创建一个事务。 它应该为所有连接锁定该表,但允许其他连接读取该表,即使该事务是从另一个连接开始的。 我应该使用什么隔离级别。 Tran = CnnTran.BeginTransaction(IsolationLevel.RepeatableRead);

从SQL DB读取架构名称,表名称和列名称并返回到C#代码

我有一个数据库(在SQL Server 2008 SP3中)并且需要C#代码中相关层次结构中的所有模式名称,表名和列名,我有以下SQLElement类: public class SQLElement { public string SchemaName { get; set; } public string TableName { get; set; } public string ColumnName { get; set; } } 并有一个列表像: List SQLElementCollection = new List(); 那么如何从DB读取名称并将它们添加到此列表(SQLElementCollection)? 例如假设我们创建一个这样的表: Create Table [General].[City] ( [Id] BIGINT NOT NULL IDENTITY(1, 1), [Title] NVARCHAR(30) NOT NULL DEFAULT (N”), [Province_Id] […]

在c#中解析SQL字符串

我需要解析一个Command.CommandText 。 我不想运行查询。 我只想查看执行命令时查询是否成功。 说我有; “SELECT * FROM SomeTable WHERE (1=1)” 此字符串将成功。 但, “SELECT * FROM SomeTable WHERE (1=1” 不会成功。 现在我的问题。 我将如何Parse这个字符串c# ?

‘ExecuteReader需要一个开放且可用的连接。 连接的当前状态是打开的’

用C#编写的一个相当大的Web应用程序不断抛出2个错误: ‘ExecuteReader需要一个开放且可用的连接。 连接的当前状态是打开的。 并且’读取器关闭时无效尝试调用读取。’ 这些错误是偶然的 – 用于在95%的时间内加载精细的页面,但最近它们已成为地方病,它们一直在发生并且基本上削弱了应用程序的function。 Web应用程序高度依赖于MS SQL数据库,并且错误似乎不仅限于一个页面,而是几乎所有连接到数据库的页面。 查询按如下方式执行: Database.Open(); // Custom class that has our connection string hard coded. string query = “SELECT * FROM table”; // (dummy query) SqlCommand command = new SqlCommand(query, Database.Conn); SqlDataReader reader = null; try { reader = command.ExecuteReader(CommandBehaviour.CloseConnection); if (reader.HasRows) { while (reader.Read()) { // Do something […]

T-SQL(varchar(max)vs CLR(string,SqlString,SqlChars)?

我有一个问题,我无法解决。 我正在使用SQL Server 2005,C#CLR来使用外部dll。 问题在于参数的长度。 我需要使用函数参数类型varchar(max) 。 如果在C#代码中我使用string , SqlSring ,我不能使用T-SQL类型varchar(max) ,只能使用nvarchar(4000) varchar(4000) nvarchar(4000) 。 我需要说的是,当我需要使用超过4000个符号时,可能会出现这种情况,所以我需要知道,我需要使用哪种C#类型的varchar(max) 。 我已经阅读了很多文章,其中有几篇说,为此我可以使用SqlChars 。 但! 我有字符串操作。 如何使用string或SqlString进行操作然后转换为SqlChars ? (可能是SqlChars.ToString()或SqlChars.ToSqlString() )。 我没有找到任何C#代码。