草庐IT

c# - 使用 Entity Framework 的输出参数执行 SQL 存储过程

我尝试使用EF执行一个返回单个字符串值(即SQL代理作业的状态)的存储过程。存储过程声明为CREATEPROCEDURE[dbo].[up_GetJobStatus](@JobStatusNVARCHAR(30)OUTPUT)AS--somecodeomittedforbrevitySELECT@JobStatus=(SELECTCASEjob_stateWHEN1THEN'Executing'WHEN2THEN'Waitingforthread'WHEN3THEN'Betweenretries'WHEN4THEN'Idle'WHEN5THEN'Suspended'WHEN6THEN'

c# - EntityFramework 过程或函数 '' 需要参数 '',但未提供

我很抱歉问了一个基本问题,但是我找不到这个错误的原因。我正在使用EntityFramework执行存储过程,我传递了四个参数,但是SQL数据库似乎拒绝了它们。谁能指出我正确的方向?我的代码:ObjectResultresultList=container.ExecuteStoreQuery("SearchDirectoryEntries",newSqlParameter("@DirectoryId",search.DirectoryId),newSqlParameter("@Latitude",point.Latitude),newSqlParameter("@Longitude",p

c# - 如何更新远程 ms sql server 上的数据库(EF 代码优先)

在开发应用程序时,我使用了EF自动迁移。所以现在当我在VPS上部署我的应用程序时,我不知道如何向我的数据库添加新表和字段。我可以直接从我在VS2012中的项目连接到远程数据库,更新连接字符串,然后在包管理器控制台中使用“update-database”更新数据库吗?或者我需要在我的VPS上安装VS并从VPS更新数据库吗?我的数据库已经装满了数据,所以我不能删除它并重新创建。 最佳答案 是的,您可以使用VisualStudio,关注thistutorial-它也应该适用于VS2012。您也可以使用CodefirstMigration在

c# - 我可以将 C# 字符串插值与 Linq to SQL 一起使用吗

在使用EF(至少达到6.1.3版)时,假设您有这样一个类:classCustomer{publicstringFirstName{get;set;}publicstringLastName{get;set;}}如果您要获取一个字段FullName,它是(FirstName和LastName)的串联作为查询结果中的字段,您将必须做这样的事情:db.Customers.Select(c=>new{FullName=c.FirstName+""+c.LastName})既然C#中有StringInterpolation,你能不能做这样的事情呢db.Customers.Select(c=>ne

c# - 使用 LINQ to SQL 访问系统数据库/表?

现在我有一个SSIS每天早上运行的软件包,并向我提供有关前一天失败或成功的软件包数量的报告。这些包的信息部分包含在msdb数据库(系统数据库)内的sysjobs表(系统表)中SQLServer2005.当试图将包移动到C#可执行文件时(主要是为了在发送的电子邮件中获得更好的格式),我无法找到一种方法来创建允许我访问这些表的dbml文件LINQ.我试图寻找任何可以使这些表可见的属性,但运气不佳。LINQ to SQL这可能吗?? 最佳答案 如果您在服务器资源管理器中,您可以通过这种方式使它们可见:创建到所需服务器的连接。右键单击服务器

c# - 如何将 SQL 日期转换为 DateTime?

我的SQL数据库中有一个类型为date的列。如何将其转换为C#DateTime,然后再转换回SQLdate? 最佳答案 sqlDATE可以直接转换为.netDateTime,反之亦然。要获取它,请使用SqlDataReader.GetDatetimeMethodDateTimemyDate=myDataReader.GetDateTime(myColumnIndex);要设置它,只需将其分配给SqlParameter的值即可并使用DateTime的.Date属性 关于c#-如何将SQL日

c# - 数据库错误 : There is no row at position 0

我相信几个月前有人问过这个问题,但我相信我的情况不同,同样的规则可能不适用。每次我执行这个方法都会弹出同样的错误。位置0处没有行。如果我将[0]更改为[1]或[15];[1]等处没有行。这是否意味着我的数据库甚至没有连接?我是否应该编写某种if语句来确定检查行是否存在?publicboolUpdateOrderToShipped(stringorder){orderNumber=order;stringbatch=ConfigurationManager.AppSettings["SuccessfulOrderBatch"];stringstatement="UPDATESOP1010

c# - SqlCommand 还是 SqlDataAdapter?

我正在创建一个类似于小型收银应用程序的应用程序,用于记录客户、员工、服务、销售和约会。我正在使用Windows窗体,并且在该DataGrids中。我已经创建了将用于该应用程序的数据库。我想知道我是否应该改用SqlCommand-SqlDataReader或SqlDataAdapter-DataSet。哪种方法更好? 最佳答案 这在很大程度上取决于您想要的操作类型。以下是我的建议。如果您想更快地读取数据,请使用SQLDataReader,但这是您需要采取的操作成本在那之后也读过。打开连接读取数据关闭连接。如果您忘记关闭,则会影响性能。

c# - 在 C# 中从 SQL 数据库读取 DateTime 值时没有毫秒值

我将高精度日期存储在SQL服务器中,例如2009-09-1519:43:43.910但是,当我将该值转换为DateTime时,生成的DateTime值的毫秒值为0:reader["Timestamp"]=15/09/200919:43:43.000将这些DateTime值精确到毫秒对我来说非常重要-最好的方法是什么?更新:这是执行转换的代码:DateTimemyDate=(DateTime)reader[Timestamp"];SELECT语句没有什么特别的,实际上它是一个SELECT*-没有花哨的转换或任何东西SqlDataReader返回的DateTime对象似乎没有填充毫秒值

c# - 从 C# 中的存储过程返回多个记录集

我必须将ASP经典系统转换为C#我有一个最多可以返回7个记录集的存储过程(取决于传入的参数)。我需要知道如何简单地将所有记录集作为单独的DataTable返回,这样我就可以循环遍历其中的任何内容,当我到达它的末尾时跳到下一个DataTable,而不必运行多个SQL语句并使用多个adapter.Fill语句将每个表添加到数据集中。在经典中,它是一个简单的DoWhilenotobjRS.EOF循环和objRS.NextRecordset(),当我到达循环末尾以移动到下一个语句时。有什么我可以使用的东西不需要完全重写当前的后端代码吗?每个记录集都有不同数量的列和行。它们彼此无关。我们从存储过