Tag: sql

SQL SELECT * FROM XXX WHERE列中的columnName

我正在研究一些SQL代码。 我熟悉语法 SELECT * FROM myTable WHERE myColumn in (‘1′,’2′,’3’); 假设我正在编写一些C#代码,我想在其中使用C#数组(‘1′,’2′,’3’) 。 我怎么做?

如何在Entity Framework上处理UpdateException – “违反PRIMARY KEY约束”?

我有一个允许多个用户的应用程序和一个具有2个ID作为复合键的数据库表。 这些ID也是来自另一个表的外键。 因此,当2个用户尝试使用相同的ID向此tabel添加条目时,由于主键违反规则,其中一个用户会获得UpdateException。 我已经发现它应该像这样处理: try { result = base.SaveChanges(options); } catch (UpdateException ex) { SqlException innerException = ex.InnerException as SqlException; if (innerException != null && innerException.Number == 2627 || innerException.Number == 2601) { // handle here } else { throw; } } 但是我在“// Handle here”部分实际上做了什么。 我尝试刷新对象,但它处于“已添加”状态,因此无法刷新。 我要做的是:确认已经存在具有这些ID的对象,删除它想要插入的对象并从数据库加载现有对象。 我怎样才能做到这一点?

在nhibernate中执行自定义查询并映射到自定义域对象

嗨我有这样的查询 SELECT Customer.Name, sum([Load].Profit) as Profit FROM Customer INNER JOIN [Load] ON Customer.Id = [Load].CustomerId GROUP BY Customer.Name 我需要在nhibernate中执行此查询并将其映射到我创建的自定义域对象,就像这样 public class CustomerProfit { public String Name; public Decimal Profit; } 有可能这样做吗? 以及如何在HQL中执行此自定义查询?

通过C#转义SQL INSERT INTO中的特殊字符

我搜索过谷歌,但尚未找到任何解决方案。 基本上我有一个在图库中设置的评论供稿(类似于facebook或stackoverflow评论)。 用户可以发表评论并阅读其他用户发布的评论。 这工作正常。 但是,如果用户尝试使用撇号发布评论,我会得到一个不错的小Web应用程序错误: ‘s’附近的语法不正确。 字符串’)’后面的未闭合引号。 我发布到SQL的评论是81。 我想要一个能够逃脱所有特殊字符的解决方案,这样无论用户输入什么,无论什么,都不会出错。 代码背后 Fetcher.postUserComments(connectionString, imagePath, comments.ToString(), userId); 提取程序 sqlCom.CommandText = “INSERT INTO dbo.Table(userId, imagePath, userComments, dateCommented) VALUES (‘” + userId + “‘, ‘” + imagePath + “‘, ‘” + comments + “‘, ‘” + theDate + “‘)”; 数据类型是字符串,我也尝试过.ToString()但没有运气。 提前感谢任何有用的输入。

从SqlServer获取一点到c#

我需要从SQL服务器获取一个位到c#。 我尝试了不同的解决方案,如: bool active = rdr.GetSqlBinary(5); Int16 active = rdr.GetSqlBinary(5); 但找不到任何方法来获得比特。 有人能举个例子吗?

MySQL从流中读取失败

我间歇性地面临以下错误。 它通过在mysql服务器设置中使用’skip name resolve’选项来解决。 但是,根据网上发现的许多建议,使用127.0.0.1应该已经解决了这个问题。 但是这也没有帮助你可以建议我一个变通方法或SQL命令,通过它我可以检查’skip name resolve’选项。 Error 1: 0 Authentication to host ‘127.0.0.1’ for user ‘root’ using method ‘mysql_native_password’ failed with message: Reading from the stream has failed. Stack Trace: at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex) at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket() at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset) at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset) at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() at […]

getschema(“Columns”)+ return DataType;

我有这个代码 using (SqlConnection conn = new SqlConnection(ConnectionString)) { conn.Open(); DataTable Databases = conn.GetSchema(“Databases”); DataTable Tables = conn.GetSchema(“Tables”); DataTable Columns = conn.GetSchema(“Columns”); conn.close(); } 我需要通过读取“DATA_TYPE”列中的字符串值来返回datattype foreach (DataRow row in Columns.Rows) if (row[“TABLE_NAME”].ToString() == tableName) { if (fName == row[“COLUMN_NAME”].ToString()) { //return Datatype var x = row[“DATA_TYPE”]; } } //// if(row [“DATA_TYPE”] ==“int”)我如何通过DataType(Int)设置var x或如何通过在行[“DATA_TYPE”]中找到的名称获取数据类型?? !!

c# – 仅在执行结束时触发SqlConnection InfoMessage

我在用 sqlConnection.InfoMessage += new SqlInfoMessageEventHandler(sqlConnection_InfoMessage); 和ExecuteNonQuery()来执行存储过程。 我在存储过程中使用RAISERROR(“Custom Message”, 10 , 1) WITH NOWAIT来抛出消息。 我正在获取sql server在查询执行结束时抛出的所有消息,这是我在进程时想要的。 我可以通过设置sqlConnection.FireInfoMessageEventOnUserErrors = true;实时获取所有消息sqlConnection.FireInfoMessageEventOnUserErrors = true; 但这导致严重性大于10的错误也由SqlInfoMessageEventHandler处理,我希望将其作为exception抛出。 有没有办法在eventHandler中实时获取严重程度为10的自定义sql信息快照,但是其他exception?

密码哈希曾经工作,现在我无法进入我的软件

我根据Code Project文章对我的登录进行了腌制和散列 当我这样做时,我在数据库中的密码和盐字段只是varchar列。 数据在SQL Server Management Studio中显示为问号。 然后一位朋友来了并将列更改为nvarchar数据类型,现在数据似乎是亚洲字母/单词的集合 – 我认为即使是那些读过任何语言的人也没有任何意义。 问题是,现在,即使我创建了新用户,每次登录尝试都会失败。 用户添加和登录 public User Login() // returns an instance of its own class { // get the salt value for the user var auser = ie.users.FirstOrDefault(u => String.Compare(u.emailaddress, emailaddress, false) == 0); if (auser == null) { throw new ValidationException(“User not found”); } // hash […]

将SQL CASE WHEN语句转换为C#

我是暑期编程实习的第一周,他的任务是使用LINQPad将SQL Server 2008语句转换为C#。 一旦我这样做并使其正常工作,我可以将其输入VS并根据需要进行调整。 问题是我运行SQL语句我不知道如何转换。 在我的C#类中,我们没有将SQL语句转换为C#,我们只创建了一个字符串变量,将SQL语句分配给变量,然后将该变量赋值给OleDbCommand对象。 我的导师在这个漫长的周末度过了rest日,我几乎独自一人,对于该怎么做并且需要一些帮助毫无头绪。 有几十个喜欢这个,如果我能看到如何做一个,我可以想出其余的。 这是SQL语句: ,[hrs].{Hours] – SUM( CASE WHEN [UnitState].[UnitStateTye] ‘ACTIVE’ THEN [Allocation].[AllocatedEnergyMwh] ELSE 0 END / CAST([Unit].[NetDependableCapacity] AS FLOAT)) AS SH 我很确定这是一个if语句: if [UnitState].[UnitStateType] does not equal active then SH equals [hrs].[Hours] minus the the sum of [Allocation].[AllocatedEnergyMwh] / (float)[Unit].[NetDependableCapacity]. else SH = [hrs].[Hours] 我尝试了以下代码,我认为这不会起作用但需要从某个地方开始: var results = (from […]