Tag: sql

如何在不同条件下两次选择相同的字段,并将结果显示为单独的字段

我想在C#中创建一个表适配器,如下所示。 我希望在不同条件下两次使用相同的表格,并且必须显示为两个不同的字段。 这是我的源表: 在AttendanceReg表中,我需要根据AttendStatus Count每个学生的记录,以根据course and month查找他们Absent and present的天数。 示例查询: Select AttendanceReg.StudentID , AttendanceReg.Studname , AttendanceReg.StudSex , AttendanceReg.StudCourse , Count(AttendanceReg.AttendStatus) As Total_Present , DatePart(‘m’, AttendanceReg.DateOfAttendance) As Month From (AttendanceReg Inner Join LocalTable On AttendanceReg.StudCourse = LocalTable.AttendCourse And DatePart(‘M’, AttendanceReg.DateOfAttendance) = LocalTable.AttentMonth ) Where (AttendanceReg.AttendStatus = ‘Present’) Group By AttendanceReg.StudentID , AttendanceReg.Studname , AttendanceReg.StudSex , AttendanceReg.StudCourse […]

只有在使用列列表并且IDENTITY_INSERT为ON时,才能指定表’Table’中标识列的显式值

有人知道这个错误(表’HD_AANVRAAG_FASE’中的标识列的显式值只能在使用列列表且IDENTITY_INSERT为ON时指定。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.Data.SqlClient.SqlException:只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表’HD_AANVRAAG_FASE’中标识列的显式值。)表示? 任何帮助表示赞赏。 private void Insert2() { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“HELPDESK_OUTLOOKConnectionString3”].ToString()); conn.Open(); SqlCommand dCmd2 = new SqlCommand( “INSERT INTO HD_AANVRAAG_FASE VALUES (@fase_id, @aanvraag_id, @status_id, ” + “@werknemer_id, @fase_datum) SET IDENTITY_INSERT HD_AANVRAAG_FASE OFF “, conn); dCmd2.Parameters.AddWithValue(“@fase_id”, 1); dCmd2.Parameters.AddWithValue(“@aanvraag_id”, 2622); dCmd2.Parameters.AddWithValue(“@status_id”, 15); dCmd2.Parameters.AddWithValue(“@werknemer_id”, 165); dCmd2.Parameters.AddWithValue(“@fase_datum”, “12-12-2001”); dCmd2.ExecuteNonQuery(); conn.Close(); }

System.Data.SqlClient.SqlException与网络相关或特定于实例的错误

正如标题所示,这是我的堆栈跟踪的例外。 我试图获得与Windows 2003服务器上托管的SQL Server 2008 R2数据库的连接。 我的连接字符串是: Data Source=server\\SQLEXPRESS;Initial Catalog=sqlDB;Integrated Security=SSPI 任何帮助将非常感激。

正确的SqlParameter语法

我正在尝试转换: command.Parameters.Add (new SqliteParameter (DbType.Int32) { Value = id }); 到正常的SqlParameter: command.Parameters.Add(new SqlParameter(DbType.Int32) { Value = id }); 我已经成功转换了除此之外的每一行,我收到这些错误: Error 3 Argument 1: cannot convert from ‘System.Data.DbType’ to ‘object[]’ Error 2 The best overloaded method match for ‘System.Data.SqlClient.SqlParameter.SqlParameter(object[])’ has some invalid arguments 全function代码: public User GetUser(int id) { var u = new User(); lock (locker) […]

如何将存储过程中的大量参数从代码传递到SQL Server

如何从代码中将大量参数(比如说20+)传递给存储过程? 就像我们可以将一个类对象中的所有参数分组然后将其传递一样,但是如何在存储过程的情况下实现这一点。 目前我必须创建20多个变量来传递参数。 谢谢Ashwani

逐行使用dataGridView列进行数学运算,然后在textBox中显示最终值

我一直在考虑做datagridview数学的最佳方法是什么。 我有这个datagridview,我需要一行一行地将列“castka”与počet相乘,然后+下一行然后+下一行直到Im结束然后在textBox中显示最终值。因为我是初学者c#和sql我想先和你讨论这个问题。(欢迎代码:)) 非常感谢。 这就是我的桌子的样子。 有人会推荐我吗? void calculateProductTwoColumns(int castkaIndex, int pocetIndex) { double[] outVals = new double[tot_rows + 1]; //Array including product of both columns per row int curRow = 0; foreach (DataGridViewRow row in dtg_ksluzby.Rows) { curRow = curRow + 1; outVals[curRow] = (double)row.Cells[4].Value * (double)row.Cells[6].Value; // MessageBox.Show(“”+ outVals.ToString()); kpriplac.Text = outVals.ToString(); } } 这是我在form_load上调用它的方式 […]

自定义扩展方法简化LINQ to SQL语句

我有一段LINQ代码,我需要在很多查询中使用它 let catchmentId = Convert.ToInt32( phy.PhysicalProperty_binData.Substring(offset + 3, 1) + phy.PhysicalProperty_binData.Substring(offset + 2, 1) + phy.PhysicalProperty_binData.Substring(offset + 1, 1) + phy.PhysicalProperty_binData.Substring(offset, 1)) 这很好地转换为SQL(并且不仅仅符合我的特定需求),但使我的查询看起来很难看。 有什么方法可以让这个更简洁吗? 也许是一个返回Expression>的扩展方法? 请注意,我不想将数据提取到客户端(在服务器上以SQL运行),这使事情变得更复杂一些。 例如: let catchmentId = phy.PhysicalProperty_binData.AnExtensionMethodHere(offset) 我尝试编写一个执行此操作的扩展方法,但提供程序只是忽略该调用或抛出exception,表明它不知道如何将该调用转换为SQL。 我们可以以某种方式扩展SQL生成器来为我们这样做或者以一种生成相同SQL的方式提供它吗? 提前致谢!

将行转换为Access中的列

我已经阅读了与我的问题相关的Stack Overflow上的许多问题,但我认为它们并不能完全解决我的问题。 基本上我下载了包含大量数据的XML数据集,并将该数据插入到MS Access数据库中。 我想要做的是转换数据,以便某些特定的行成为列。 现在我可以在将数据插入数据库之前在代码中手动执行此操作,但这需要大量时间和代码更改,因此我想知道是否可以使用MS Access执行此操作。 这是我的表基本上看起来如何,以及我想如何转换它。 在我的案例中,索引并不那么重要 [Table1] => [Table1_converted] [Index] [Name] [Data] [NameID] [NameID] [AA] [BB] [CC] [DD] 1 AA 14 1 1 14 date1 64 61 2 BB(date) 42 1 2 15+19 date2 67+21 63+12 3 CC 64 1 3 9 10 4 DD 61 1 4 date4 1 87 5 […]

存储过程始终返回0

我试图从存储过程中返回值,但它总是返回0。 c#代码 cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = “AbsentEntry”; cmd.Parameters.Add(“@EmpID”, SqlDbType.VarChar).Value = ViewState[“empID”].ToString(); cmd.Parameters.Add(“@AttendanceDate”, SqlDbType.Date).Value = date.ToString(“yyyy-MM-dd”); cmd.Connection = conn; conn.Open(); cmd.ExecuteNonQuery(); SqlParameter returnParameter = cmd.Parameters.Add(“@returnval”, SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); int result = (int)cmd.Parameters[“@returnval”].Value; return result; SP ALTER PROCEDURE [dbo].[AbsentEntry] @EmpID varchar(10), @AttendanceDate Date AS BEGIN declare @returnval int IF (SELECT […]

GroupBy从IEnumerable对象列表中删除重复项

我有一个重复名称的列表,我想获得没有重复的列表。 CSVCategories = from line in File.ReadAllLines(path).Skip(1) let columns = line.Split(‘,’) select new Category { Name = columns[9] }; var results = CSVCategories.GroupBy(x => x.Name) .Select(g => g.FirstOrDefault()) .ToList(); 我尝试使用以下循环查看元素和调试,但它仍然返回列表中的重复项,包括空值的空字符串: foreach(var item in results) { Console.WriteLine(item.Name); }