如何在存储过程中向日期参数传递默认值-Sqlserver 2008?
这是我的存储过程: ALTER proc [dbo].[allrecp] @peid int=0, @pename varchar(20)='', @pdes varchar(20)='', @pdoj date='1111-1-1', @sal money=0, @dept int=0, @loc int=0,@i int=0 as begin if(@i=1) begin insert into Employee values(@pename,@pdes,@pdoj,@sal,@dept,@loc) end if(@i=2) begin update Employee set ENAME=@pename,DESEGNATION=@pdes,DOJ=@pdoj,SALARY=@sal,DEPTID=@dept,LOCATIONID=@loc WHERE EMPI
16 2024-04-26
编程技术问答社区
DataGridView C# 在编辑模式下行的默认值
我有一个程序,我使用GridView将值输入数据库中. GridView填充了来自我想要的表格数据库的数据集的"空"结果.这使网格充满了我想要的适当列(即,在DB中的某个表中有一个空行的网格).填写列后,我会采用数据并手动更新数据库. 我如何使用GridView的基本示例: this.fullUutDataTableAdapter.Fill(this.dalsaUutDataSet.ResultsFullUut); DataView dv = this.dalsaUutDataSet.ResultsFullUut.DefaultView; Grid_modify.DataSource = dv; foreach(DataGridViewRow dr in Grid_modify.Rows) { dr.Cells["YieldID"].Value = -1; } 但是,我想有某些列具有默认值.我尝试更改列的默认值,但是您不能更改属性,只能
20 2024-04-23
编程技术问答社区
如何在C#中判断一个字符串变量的值是否发生了变化?
我只有在特定字符串从其上一个值更改时,我才有在按钮下单击按钮(将值添加值添加值).我该如何管理?以下是我的代码的示例: private void button6_Click(object sender, EventArgs e) { string x = //some varying value I get from other parts of my program listBox1.Items.Clear(); listBox1.Items.Add(x + /*other things*/); } 我有时在单击按钮时从上一个值中对string x的值相同.在这种情况下,我不希望ListBox1添加项目(字符串X).仅当字符串的值更改时,如何添加到列表框?没有办法确定string x.程序运行时它具有值. 注意:每次向ListBox1添加值,然后删除我程序中的重复项无法工作. 解决方案
58 2024-04-23
编程技术问答社区
我如何获得可选参数的默认值?
我有一个带有可选参数的构造函数. 我想拥有一个表达式在不提供可选参数的情况下调用该构造函数(我的意思是让对象用参数的默认值构造). 我在这里阅读 表达树可能不包含使用可选参数的调用或调用 这是不可能的. 我的意思是 var ctorInfo = getIt; var f = Expression.Lambda>(Expression.New(ctorInfo)).Compile(); System.TypeInitializationException 失败 好吧,我将传递默认值.但是如何获得参数的默认值? ctorInfo.GetParameters().Select(?? 动机:学习目的,没有现实世界的应用. 编辑:编辑 expression-tree 标签,因为它不是在构建表达式的上下文中,一般也有效. 解决方案 根据ctorInfo.GetParameters().Select( p => p.RawDefault
2 2024-04-21
编程技术问答社区
获取一个属性的默认值,给定其名称
我有一个属性(如下所示). [DefaultValue(false)] public bool MyProperty { get { return myVal; } set { myVal=value; } } 我正在使用的情况是为了确保如果未设置默认值,则在a propertionGrid中显示为 BOLD . 我发现,在我的构造函数中,我必须设置财产的初始价值,并希望它们匹配. 是否可以让我的构造函数"发现"给定属性的默认值,并相应地设置它?类似: myctor() { myVal = GetDefaultValueProperty("MyProperty"); } 解决方案 您可以使用以下代码获得您追求的元数据. public static T GetDefaultValue(string propertyName) { var property
14 2024-04-19
编程技术问答社区
如何让C#设计者知道Padding或其他对象/结构的默认属性呢?
当属性不是DefaultValue()支持的类型之一时,如何告诉设计师属性的默认值?例如,a Padding或a Font. 通常,当您使用Windows表单控件时,默认值将在"属性"窗口中的正常字体中,并且更改(非默认)值将以粗体为大胆.例如 在此示例中,ShowAddress的默认值为false,ShowName的默认值为true.通过以下内容实现此效果: [DefaultValue(false)] public bool ShowAddress { get { return mShowAddress; } set { mShowAddress = value; Invalidate(); } } [DefaultValue(true)] public bool ShowName { ... } 但是,当我尝试为Padding做某事时,我失败了: [DefaultValue(new Padding(2))] public
26 2024-04-18
编程技术问答社区
OptionalAttribute参数的默认值?
MSDN's VS2010 命名和可选参数(C#编程指南)告诉我们有关C#中的可选参数,显示了我期望的代码: public void ExampleMethod(int required, string optionalstr = "default string", int optionalint = 10) 好的,但它也说: 您也可以声明可选 使用.NET参数 可选的Attribute类. 可选属性参数不 需要一个默认值. 我阅读 ,并在线完成搜索(这表明许多人声称可选参数不能被C#消费 - 我猜这些评论是在C#4之前发表的?),但是我找不到两个问题的答案: 如果我使用optionalAttribute将C#参数定义为可选: 如果我称之为该方法并且不指定该参数的值,将使用什么值? 该值将在编译时间或运行时评估? 解决方案 规则是: 对于类型object的参数,对于其他参考类型,null传递. 对于价值类型,默认价值
10 2024-04-18
编程技术问答社区
如何在ASP.NET中为自动实现的属性设置默认值
我知道C#3.0带有自动实施属性的新功能,我喜欢它,因为我们不必在此中声明额外的私人可变(与较早的属性相比),早些时候我正在使用属性即 private bool isPopup = true; public bool IsPopup { get { return isPopup; } set { isPopup = value; } } 现在,我已经将其转换为自动实现的属性,即 public bool IsPopup { get; set; } 我想将此属性的默认值设置为true,而无需使用它,即使在page_init方法中也没有使用它,我尝试但没有成功,任何人都可以解释如何做到这一点吗? 解决方案 您可以在默认构造函数中初始化属性: public MyClass() { IsPopup = true; } 使用C#6.0,可以像普通成员字段一样在声明处初始化该属性
12 2024-04-17
编程技术问答社区
在Linq to Sql查询中获取默认值类型(DateTime),结果为空
我在从复杂Linq-to-Sql QUERY返回默认值DateTime值时遇到问题. 希望以下简化示例显示了问题(尽管我没有运行此确切的代码): users.Select(u => new MyDomainObject( u.Id, u.Transactions .Where(t => false) // empty results set .Select(t => t.TransactionTime) // TransactionTime is DATETIME NOT NULL .OrderByDescending(x => x) .FirstOrDefault() // I want DateTime.MinValue (or SqlDateTime.MinValue) ) ); 所以我想要最后一个时间戳,或者如果没有结果,则需要一些时间戳. 列举上述查询给出了错误
8 2024-04-17
编程技术问答社区
C#构造函数中的默认值与序列化的两个构造函数相同
当我为构造函数提供默认值 时 public MyClass(string description = null) { .... } 这等同于 public MyClass() { .... } public MyClass(string description) { .... } 序列化.换句话说,默认构造函数可用吗?实际上是,但是当我使用序列化时我会遇到一些问题吗? 解决方案 否.不幸的是,它不是默认的构造函数. 写作时: public MyClass(string description = null) { .... } 实际上,您正在制作一个接受字符串参数的构造函数,但具有标记该属性的默认值的属性.这与类上的默认构造函数不同. 其他解决方案 是的,在这种情况下您会遇到问题. 我尝试通过反射来调用您描述的构造函数,并抛出targetinvokationException :(参数计数不匹配).
22 2024-04-15
编程技术问答社区
c#中的XML序列化和DefaultValue("")相关问题
我的类属性具有默认值,它将序列化. public class DeclaredValue { [XmlElement(ElementName = "Amount", DataType = "double", IsNullable = false), DefaultValue(999)] public double Amount { get; set; } [XmlElement(ElementName = "Reference2", DataType = "string", IsNullable = false), DefaultValue("")] public string Reference2 { get; set; } } 因此,我们创建了声明价值类的实例,并为Reference2属性提供值,并且没有分配任何金额.因此,当我们序列化类声明值时,就在我的XML中找不到标签.我提到了金额" 999"的默认值,那么为什么它在序列化中不起作用.
16 2024-04-15
编程技术问答社区
在去序列化过程中使用XML装饰来指定默认值
我有一个问题,可以使一些XML;由第三方提供的XML很详细,因此,如果没有为特定元素设置的值,它将提供和空元素(例如). 这是某些元素的问题,例如,那些旨在存储整数的元素.我可以控制第三方,因此我可以让他们指定默认值(0),或者我可以让它们完全省略这些元素.这两个都应该避免问题. 但是,将来可能会有一些情况,我们没有太多的控制权 - 在这种情况下,是否可以通过装饰指定默认值? [XmlElement("myinteger")=0???] public int MyInteger { get { return myInteger; } set { myInteger= value; } } 解决方案 XmlSerialize
10 2024-04-14
编程技术问答社区
如何用不同的默认值初始化多维数组
我试图用-1初始化整数值的二维数组.当我创建一个新数组时,它会自动填充0. 我知道我可以用2进行循环做到这一点,但是我想应该在构建阵列时有某种方法(所以我不必两次经过它)值将插入.是否可以? 如果不是在阵列的初始建筑物中,是否有其他时间或代码节省方式,或者我被2次循环卡住了吗? 解决方案 使用多维数组,循环很可能是最好的方法,除非数组足够小以直接在代码中初始化. 如果您正在使用 jagged array ,您可以初始化第一个子阵列,然后使用 array.copy 将这些值互相复制为子阵列.这仍然需要通过第一个子阵列进行一次迭代,并且一个循环通过N-1外阵列,但是复制操作将比循环更快. 其他解决方案 尝试这样的东西:int[,] array2D = new int[,] { { -1 }, { -1 }, { -1 }, { -1} }; 或dimension int[,] array2D = new int[4,2] { { -1,-1 }, { -1,-1
4 2024-04-13
编程技术问答社区
为什么out参数不能有一个默认值?
当前试图在使用OUT参数的方法中执行某些操作时,我需要分配方法主体中的OUT参数的值,例如 public static void TryDoSomething(int value, out bool itWorkerd) { itWorkerd = true; if (someFavourableCondition) { // if I didn't assign itWorked variable before this point, // I get an error: "Parameter itWorked must be assigned upon exit. return; } // try to do thing itWorkerd = // success of attempt to do thing } 我希望能够设置itWorked参数的默认值,因此我不必任
20 2024-04-13
编程技术问答社区
作为参数的通用谓词的默认值
对我的第一次问题:) 我需要某种方法来定义默认谓词使用格式上的通用 上的通用 Func 然后将其用作默认参数.这样的东西: public bool Broadcast(byte command, MemoryStream data, bool async, Func predicate = (T t) => true) 当我这样做时,我会收到编译错误: "谓词"的默认参数值必须是编译时常数 是否有一种平稳的方法来做我缺少的,或者应该使谓词函数变得无效并相应地更改我的功能逻辑? 谢谢, 解决方案 方法参数的默认值必须为编译时常数,因为编译器实际上将默认值复制到方法的所有呼叫站点. 您必须使用过载来执行此操作: public bool Broadcast(byte command, MemoryStream data, bool async) { return Broadcast(com
6 2024-04-13
编程技术问答社区
在C#中,默认值为0,为什么我必须为int赋值?
这有效: class MyClass { int a; public MyClass() { int b = a; } } 但这给出了编译器错误("使用未分配的本地变量'a'"): class MyClass { public MyClass() { int a; int b = a; } } 据我所知, 在第一个示例中,从技术上讲,编译器不知道未分配" A".在后一个示例中," a"是本地定义的,因此易于跟踪. 但是为什么后一个示例不起作用? 整数不默认为0?这是编译器执行"最佳实践"的东西.还是还有另一个原因? 解决方案 在第一个示例中,它是 field .字段自动默认为0/false/null.在第二个示例中,它是 actible .变量不是 默认的,并且必须在使用之前具有"确定的分配". 本质上,当创建对象(或初始化struct
8 2024-04-12
编程技术问答社区
检查一个给定的对象(引用或值类型)是否等于其默认值
我正在尝试找到一种检查给定对象的值是否等于其默认值的方法.我环顾四周,想出了这一点: public static bool IsNullOrDefault(T argument) { if (argument is ValueType || argument != null) { return object.Equals(argument, default(T)); } return true; } 我遇到的问题是我想这样称呼: object o = 0; bool b = Utility.Utility.IsNullOrDefault(o); 是的O是一个对象,但我想让它弄清楚基本类型并检查其默认值.在这种情况下,基本类型是一个整数,在这种情况下,我想知道该值是否等于默认值(int),而不是默认值(ob
12 2024-04-12
编程技术问答社区
如何告诉XmlSerializer总是用[DefautValue(...)]来序列化属性?
我正在使用DefaultValue属性作为适当的PropertyGrid行为(它显示的值与bold中的默认值不同).现在,如果我想使用XmlSerializer使用序列化对象,则XML文件中的条目对于具有默认值的属性. 告诉xmlSerializer序列化的最简单方法是什么? 我需要支持"版本",因此,当我以后更改默认值时 - 序列化属性获取已序列化的值,而不是"最新"一个.我可以考虑以下内容: PropertyGrid的覆盖行为(使用自定义属性,因此XmlSerializer>); 做一个自定义XML serialization,其中忽略DefaultValue的; 在将其传递给XmlSeriazer之前,请与对象一起做一些事情,以便它不再包含DefaultValue的 在 这是我想要的示例: private bool _allowNegative = false; /// /// Get or set i
10 2024-04-12
编程技术问答社区
DefaultValue属性在我的自动属性中不起作用
我有以下自动属性 [DefaultValue(true)] public bool RetrieveAllInfo { get; set; } 当我尝试在代码中使用它时,我发现默认false是false我假设这是bool变量的默认值,是否有人知道有什么问题!? 解决方案 DefaultValue属性仅用于告诉Visual Studio设计人员(例如,在设计表单时)属性的默认值是什么.它没有在代码中设置属性的实际默认值. 更多信息在这里: http://support.microsoft.com/kb/kb/311339 /p> 其他解决方案 [DefaultValue]仅通过(例如)序列化API(例如XmlSerializer)和一些UI元素(例如PropertyGrid)使用.它没有设置值本身;您必须为此使用构造函数: public MyType() { RetrieveAllInfo = true; } 或手动设置字段,即不使用自动实现的
6 2024-04-12
编程技术问答社区
返回一个默认值。(C#)
我正在创建自己的字典,并且在实现 trygetValue 函数.当找不到密钥时,我没有任何东西可以分配给OUT参数,因此我将其保留.这将导致以下错误:"必须将OUT参数"值"分配给控制之前,请在控制当前方法之前" 因此,基本上,我需要一种方法来获取默认值(0,false或nullptr取决于类型).我的代码类似于以下内容: class MyEmptyDictionary : IDictionary { bool IDictionary.TryGetValue (K key, out V value) { return false; } .... } 解决方案 You are looking for the default 关键字. 例如,在您给的示例中,您想要类似的东西: class MyEmptyDictionary : IDictionary
10 2024-04-11
编程技术问答社区