Tag: sql

如何用多个表填充数据集?

我正在尝试填充包含2个具有一对多关系的表的DataSet。 我正在使用DataReader来实现这个目的: public DataSet SelectOne(int id) { DataSet result = new DataSet(); using (DbCommand command = Connection.CreateCommand()) { command.CommandText = “select * from table1”; var param = ParametersBuilder.CreateByKey(command, “ID”, id, null); command.Parameters.Add(param); Connection.Open(); using (DbDataReader reader = command.ExecuteReader()) { result.MainTable.Load(reader); } Connection.Close(); } return result; } 但我只填了一张桌子。 我如何实现目标 – 填写两个表格? 如果可能的话,我想使用DataReader而不是DataAdapter。

来自sql查询执行entity framework的匿名类型结果

我使用entity framework5.0与.net框架4.0代码的第一种方法。 现在我知道我可以通过以下方式在entity framework中运行原始sql var students = Context.Database.SqlQuery(“select * from student”).ToList(); 它工作得很好,但我想要的是返回匿名结果。 例如,我只想要学生表中的特定列,如下所示 var students = Context.Database.SqlQuery(“select FirstName from student”).ToList(); 它不起作用。 它给了例外 数据读取器与指定的“MyApp.DataContext.Student”不兼容。 类型为“StudentId”的成员在数据读取器中没有具有相同名称的相应列。 所以我尝试过dynamic类型 var students = Context.Database.SqlQuery(“select FirstName from student”).ToList(); 它也没有用,它返回一个空对象。 没有可用的数据。 有没有办法从动态SQL查询中获取匿名类型结果?

动态/编程地向SQL添加WHERE子句

如何以编程方式将搜索条件添加到SQL存储过程? 在我的应用程序(C#)中我正在使用存储过程(SQL Server 2008R2) ALTER PROCEDURE [dbo].[PROC001] @userID varchar(20), @password varchar(20) AS SELECT * FROM tUsers WHERE RTRIM(Name) = @userID AND RTRIM(Password) = @password 我希望通过更多条件扩展此查询,现在我不知道有多少条件将使用此查询,因为程序执行… 2,3,6或20.我想以编程方式添加这些条件,如: SELECT * FROM tUsers WHERE RTRIM(Name) = @userID AND RTRIM(Password) = @password AND Field2 = ‘1’ AND Field3 = ‘0’ OR Field4 ‘8’ AND Field5 < '100' …. 是否可以动态地向存储过程发送条件?

尽管使用了查询字符串,但在使用sql COUNT时,ExecuteNonQuery返回-1

出于某种原因,C#中的ExecuteNonQuery()返回-1 ,但是当我单独运行查询时,该值返回所需的实际值。 例如: try { var connString =”Data Source=ServerName;InitialCatalog=DatabaseName;Integrated Security=true;” SqlConnection conn = new SqlConnection(connString); SqlCommand someCmd = new SqlCommand(“SELECT COUNT(*) FROM SomeTable”); someCmd.Connection = conn; conn.Open(); var theCount = cmd.ExecuteNonQuery(); conn.Close(); } catch(Exception ex) { Console.WriteLine(ex.Message); } 执行命令时,返回-1 。 虽然如果单独运行查询, SELECT COUNT(*) FROM SomeTable; 如果要查询的表有4行,则列返回一行,计数为4 。

使用c#在sql数据库中插入datetime值

如何将日期时间值插入到SQL数据库表中,其中列的类型是datetime?

用于validationSQL脚本的代码

如何在使用.net 2.0和c#执行它们之前validationsql脚本? 如果sql无效,我想返回错误行。

我可以使用ADFS 2.0对SQL Server的某些用户进行身份validation吗?

我一直在使用ADFS使用VS中的声明感知模板来validation用户对AD的罚款。 我们的一些用户将不在Active Directory中,因此我想知道是否可以配置ADFS以便为这些用户查找SQL Server,然后继续正常运行。 ADFS2.0是否提供自定义身份validation存储? 是一个类似的问题,只有一个人说是的,它可以做,而其他人说,你不能。

在LINQ中进行字符串比较的问题

我无法让LINQ将某些内容翻译成我需要的查询。 在T-SQL中,我们对作为CHAR(6)列的三列进行 =比较。 LINQ不允许我这样做 运算符'<='不能应用于'string'类型的操作数为'string'。 我有以下T-SQL查询.. SELECT * FROM [ZIPMASTER] zm WHERE zm.CORP = 12 AND ‘85546 ‘ BETWEEN zm.ZIPBEG AND zm.ZIPEND 由于不支持BETWEEN ,所以上面的LINQ不是很友好。 因此,我简化为以下内容: SELECT * FROM [ZIPMASTER] zm WHERE zm.CORP = 12 AND zm.ZIPBEG = ‘85546 ‘ 我用它来创建以下LINQ查询: var zipLinqQuery = from z in db.ZIPMASTERs where z.CORP == 12 && z.ZIPBEG = “85546 […]

C#构造参数查询SQL – LIKE%

我正在尝试为C#中的参数查询构建SQL,以查询包含LIKE %%命令的查询。 这是我想要实现的(请注意数据库是Firebird) var SQL = string.format(“SELECT * FROM {0} WHERE {1} LIKE ‘%?%'”, TABLE, NAME); cmd.Parameters.AddWithValue(NAME, “JOHN”); 现在我尝试了每一个排列来使参数起作用,我试过了; 将%字符添加到参数中 cmd.Parameters.AddWithValue(NAME, “%” + “JOHN” + “%”); 要么 cmd.Parameters.AddWithValue(NAME, “‘%” + “JOHN” + “%'”); 我似乎无法使其工作,我如何使用LIKE查询的参数工作。 欢迎提出建议!

如何在脚本组件中访问ssis包变量

如何在我的C#代码中访问我在数据流中使用的变量 – >脚本组件 – >我的c#脚本和我的SSIS包? 我试过用哪个也行不通 IDTSVariables100 varCollection = null; this.VariableDispenser.LockForRead(“User::FilePath”); string XlsFile; XlsFile = varCollection[“User::FilePath”].Value.ToString();