小编sol*_*man的帖子

检查列是否返回空值的最佳方法(从数据库到.net应用程序)

我有一个带有DateTime列的表,该列可以具有NULL值

现在我使用ODBC连接连接到数据库,并将值传入.net/c#中的DataTable.

我可以通过去检查它是否为NULL

if(String.IsNullOrEmpty(table.rows[0][0].ToString())
{
     //Whatever I want to do
}
Run Code Online (Sandbox Code Playgroud)

String.IsNullOrEmpty是检查空值的正确方法.

.net c# datatable null datetime

30
推荐指数
2
解决办法
12万
查看次数

在LINQ to SQL中执行InsertOnSubmit时出现NullReferenceException

在我的数据库中,我有一个名为StaffMembers的表

当我通过linq-to-sql将它带入我的.net项目时,会创建一个实体类StaffMember

现在我还在我的项目中创建了一个部分类StaffMember,以添加我在其他顶层使用的额外属性.例如.IsDeleted属性.此partial类还继承了一个抽象类和接口,以确保还实现了一些其他属性.

现在当我创建一个新的"StaffMember"实例时

例如.StaffMember newStaff = new StaffMember(); 并赋予其所有属性等

然后通过我的Manager调用上下文中的InsertOnSubmit.

Add(StaffMember newStaff)
{
     context.StaffMembers.InsertOnSubmit(newStaff);
     context.Save();
}
Run Code Online (Sandbox Code Playgroud)

我得到一个"对象引用没有设置为对象的实例"错误.

on context.StaffMembers.InsertOnSubmit(newStaff);

堆栈说

"   at System.Data.Linq.Mapping.EntitySetDefSourceAccessor`2.GetValue(T instance)\r\n   at 
System.Data.Linq.Mapping.MetaAccessor`2.GetBoxedValue(Object instance)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.HasDeferredLoader(MetaDataMember deferredMember)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.get_HasDeferredLoaders()\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(MetaType mt, Object obj, Dictionary`2 visited, Boolean recurse, Int32 level)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj, Boolean recurse)\r\n   at 
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj)\r\n   at System.Data.Linq.Table`1.InsertOnSubmit(TEntity entity)\r\n   at 
BusinessObjects.StaffMemberManager.Add(StaffMember staffMember) in     
C:\\StaffMemberManager.cs:line 251"
Run Code Online (Sandbox Code Playgroud)

任何想法为什么会发生这种情况以及它的方式是什么.

谢谢

c# insertonsubmit nullreferenceexception linq-to-sql

25
推荐指数
1
解决办法
5238
查看次数

将dd/MM/yyyy hh:mm:ss.fff从String转换为C#中的DateTime

我试图将以下格式的字符串dd/MM/yyyy hh:mm:ss.fff转换为DateTime值

最简单的方法?

BTW

IFormatProvider culture = new CultureInfo("en-US", true);
DateTime.ParseExact(timeString, "dd/MM/yyyy hh:mm:ss.fff",culture);
Run Code Online (Sandbox Code Playgroud)

引发无效的时间异常

例如.11/12/2009 13:30:00.000其中12是月份(我知道很奇怪)

c# asp.net datetime

12
推荐指数
1
解决办法
6万
查看次数

Excel 2007 - 包装X轴标签(换行,自动换行)

我无法在Excel 2007图表上包装x轴标签的文本.结果,轴标签彼此重叠.有谁知道如何包装这些标签?

excel-2007

12
推荐指数
2
解决办法
4万
查看次数

"SubmitChanges()"上的LINQ to SQL"1/2更新失败"

我正在使用LINQ to SQL更新类型X的对象及其子Y,然后提交更改并获取此错误

示例代码

X objX = _context.X.ToList().Where(x => x.DeletedOn == null).First();
objX.DeletedOn = DateTime.Now;

EntitySet<Y> objYs = objX.Ys;
Y objY = objYs[0];
objY.DeletedOn = DateTime.Now;

_context.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)

在SubmitChanges()上,我得到一个异常"1 of 2 Updates failed",没有其他信息说明为什么会发生这种情况.有任何想法吗?

另外,异常类型是ChangeConflictException

c# sql-server linq-to-sql

9
推荐指数
1
解决办法
9410
查看次数

临时表范围?

我在我的存储过程中使用临时表#tempTable - 我用它来运行我的ASP.net报告(报告服务)

我正在做类似的事情

例如.码

SELECT * INTO #tempTable FROM Contacts WHERE ContactID < 10
Run Code Online (Sandbox Code Playgroud)

然后我用类似的东西

SELECT o.* FROM #tempTable t INNER JOIN Orders o ON t.ContactID =o.ContactID
Run Code Online (Sandbox Code Playgroud)

将值返回到我的报告,即存储过程的结果

我没有摆脱我的#tempTable

即我不这样做

DROP TABLE #tempTable
Run Code Online (Sandbox Code Playgroud)

我已经读过临时表的范围只适用于存储过程 - 所以做了以上必要的操作 - 如果我不做上面的话我将来会遇到什么问题

sql t-sql stored-procedures sql-server-2005

8
推荐指数
3
解决办法
2万
查看次数

Hyphen vs Dash:用连字符替换Dash

好吧所以我们最近遇到了问题

在报告服务中,一些字符串列显示为乱码中文字符.

经过进一步调查,我们发现它是连字符.那就是我们首先要做的事情.在进一步调查中,我们发现它是一个破折号(或破折号).基本上发生这种情况的原因是人们将粘贴值从单词中复制到此列中,该单词自动将连字符转换为短划线.

但是如果你看一下数据库,它们看起来都是一样的.虽然在应用程序方面,您可以看到差异.

如何使用普通连字符替换短划线.

如果将值复制到SQL Server中.连字符是灰色的,而短划线是黑色但它们看起来完全相同(即不大或小).问题是我不能写一个REPLACE脚本然后(他们是怪胎一样)

用...来代替 '-')

有没有办法在SQL服务器中识别像破折号这样的特殊字符?

SQL Server v 2005

sql-server special-characters

7
推荐指数
1
解决办法
1万
查看次数

将LINQ的名称空间更改为SQL生成的类

无论如何,我可以更改LINQ to SQL生成的类的命名空间

现在它是ProjectName.FolderName

无论如何我可以改变这个默认约定

c# namespaces linq-to-sql

5
推荐指数
1
解决办法
1570
查看次数

该成员不支持转换为 SQL。尝试在 LINQ to SQL 语句中访问我的 Partial 类中的属性时。Lambda 表达式?

我的数据库中有 3 个表

  • 国家
  • 城市
  • 房子

国家表看起来像

 CountryID
 Name    
Run Code Online (Sandbox Code Playgroud)

城市表看起来像

 CountryID
 CityID
 Name
Run Code Online (Sandbox Code Playgroud)

房子

 CountryID
 CityID
 HouseID
 Name
Run Code Online (Sandbox Code Playgroud)

我使用 LINQ to SQL,上面的表成为类并拥有它们的属性等。

现在我有自己的抽象类

地点

并为继承 Location 抽象类的 Country、City、House 创建了部分类

因此可以具有像 FindByID() 这样的通用功能和像 .Parent(位置类型)这样的属性

现在让我们取 .Parent ,它基本上返回每个班级的 Parent

所以

房子会回来

 .Parent  //as City
Run Code Online (Sandbox Code Playgroud)

城市将回归

 .Parent  //as Country
Run Code Online (Sandbox Code Playgroud)

国家会回来

 .Parent  //as Country
Run Code Online (Sandbox Code Playgroud)

现在尝试使用时

City.Parent 在 LINQ to SQL 语句中我得到一个

 The member 'Location`1[City].Parent' has no supported translation to SQL.
Run Code Online (Sandbox Code Playgroud)

现在人们一直在提到如何使用 Lambda 表达式来解决这个问题。有人可以给我一个关于这种情况的好例子吗

.Parent 应该是什么样子

 Location Parent
 {
    get
   {
        //Please fill Lambda expression …
Run Code Online (Sandbox Code Playgroud)

.net c# lambda inheritance linq-to-sql

5
推荐指数
1
解决办法
3420
查看次数

将HTML转换为PDF - ASP.net的任何库

在asp.net应用程序中是否有任何.net库可以将HTML输出转换为PDF.

如果它是免费的无关紧要

.net pdf asp.net

5
推荐指数
1
解决办法
5547
查看次数