将varchar数据类型转换为日期时间数据类型会导致超出范围的值错误
我正在尝试使用表单将数据输入到我的表中,表单验证和sql server中的日期格式都是dd/mm/yy,但是当我尝试从表单提交数据时,日期高于12 (例如13/12/2012)它抛出一个异常,其原因是"将varchar数据类型转换为日期时间数据类型导致超出范围的值错误",如果我尝试在表单中输入数据以mm/dd/yy格式表示"错误的日期格式",这意味着dd/mm/yy格式是正确的格式
这是我的表格的代码如下:
private void btnAddProject_Click(object sender, EventArgs e)
{
DateTime startDate;
DateTime endDate;
if (txtProjectName.Text == "") //client side validation
{
MessageBox.Show("Enter Project Name");
return;
}
try
{
startDate = DateTime.Parse(txtProjectStart.Text);
endDate = DateTime.Parse(txtProjectEnd.Text);
}
catch (Exception)
{
MessageBox.Show("Wrong Date Format");
return;
}
fa.CreateProject(txtProjectName.Text, startDate, endDate, (int)cbCustomers.SelectedValue, ptsUser.Id);
txtProjectName.Text = "";
txtProjectStart.Text = "";
txtProjectEnd.Text = "";
cbCustomers.SelectedIndex = 0;
MessageBox.Show("Project Created");
adminControl.SelectTab(2);
}// end btnAddProject
Run Code Online (Sandbox Code Playgroud)
这是我DAO中的代码:
public void CreateProject(string name, DateTime startDate, DateTime endDate, int customerId, …Run Code Online (Sandbox Code Playgroud) 我创建了按钮的用户控件Save,Close和Cancel.我想关闭表单而不保存取消按钮,提示消息保存在关闭按钮上,保存而不关闭保存按钮.通常,我会使用this.Close()取消按钮,但UserControl没有这样的选项.所以我想我必须为此设置一个属性.
向下滚动该"Questions that may already have your answer"部分,我遇到了这个问题:如何从其中加载的UserControl按钮关闭ChildWindow?我使用了以下C#代码:
private void btnCancel_Click(object sender, EventArgs e)
{
ProjectInfo infoScreen = (ProjectInfo)this.Parent;
infoScreen.Close();
}
Run Code Online (Sandbox Code Playgroud)
这可以完成一个屏幕的工作,但我想知道是否必须为我拥有的所有屏幕应用此代码?我认为应该有一种更有效的方式.所以我的问题是:我是否需要为我拥有的每种表单应用此代码,还是有另一种(更有效)的方式?
当我调用C++函数时:
public ref class TEST_CLASS
{
void TEST(void (*func)())
{
(*func)()
}
};
Run Code Online (Sandbox Code Playgroud)
在C#中:
TEST_CLASS t = new TEST_CLASS();
t.TEST(f);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
语言不支持"TEST"
会导致此错误的原因是什么?我该如何解决?
好的,这是我在进度条上绘制内容的代码:
private void timer2_Tick(object sender, EventArgs e)
{
int percent = progressBar1.Value;
progressBar1.CreateGraphics().DrawString(percent.ToString() + "%", new Font("Arial", (float)8.25, FontStyle.Regular), Brushes.Black, new PointF(progressBar1.Width / 2 - 10, progressBar1.Height / 2 - 7));
progressBar1.Increment(+1);
if (progressBar1.Value >= 99)
{
timer2.Stop();
this.Close();
}
Run Code Online (Sandbox Code Playgroud)
好的,所以我在它的中间画一个标签,它会显示进度条的值.出于某种原因,它一直在闪烁......消失并再次出现.所以,有人告诉我拿出那些代码并把它放在paint方法中.....我不明白.有没有更简单的方法?
我正在制作我的第一个Skype应用程序,它可以简单地向用户发送消息,但是当我调试时,我得到一个异常会导致我的应用程序崩溃 这是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using skype_app;
using SKYPE4COMLib;
namespace skype_app
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
var oskype = new SKYPE4COMLib.Skype();
oskype.PlaceCall(textBox1.Text);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
var oskype = new SKYPE4COMLib.Skype();
oskype.SendMessage(textBox1.Text, …Run Code Online (Sandbox Code Playgroud) 目前我正在使用devexpress开发一个应用程序,我设置了两个列来隐藏,如下所示:
gridView1.Columns[2].Visible = false;
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的程序时,DataGrid中有一个名为"Selector de Columnas"的选项(英文ColumnChooser).在此选项中,将显示我设置为隐藏的两列.我不希望用户看到这些列,但我仍然需要它们,所以我只想隐藏它们.

我搜索了Devexpress的在线文档,他们在这里说明可以使用ShowInColumnChooser属性隐藏列.但是我无法在ColumnChooser中隐藏这些列.他们没有向您展示任何示例,只是这行代码:
public bool ShowInColumnChooser { get; set; }
Run Code Online (Sandbox Code Playgroud)
我猜这是一些Devexpress控件的属性,但是他们没有说明如何使用它.
c# devexpress visual-studio-2010 visual-c#-express-2010 devexpress-windows-ui
如何使用foreach语句在用户给出的2个值之间循环?
我正在创建一个扫描端口的应用程序,所以我希望用户指定要搜索的端口; 这里有一些不起作用的示例代码,但应该可以帮助您理解我在寻找的内容:
int port1 = Int32.Parse(TextBox1.Text);
int port2 = Int32.Parse(TextBox2.Text);
foreach(int between port1 and port2)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
有关如何做到这一点的任何建议?
我正在尝试编译一个tile map编辑器,以便我可以使用它来处理游戏,但我收到错误"类型或命名空间名称'压缩'在命名空间'System.IO'中不存在"当我尝试构建Visual C#.有谁知道我怎么解决这个问题?我试过谷歌,但我一无所获.
我的应用程序将扩展到全屏.
但即使我将标签固定,标签也不会变大,它会保留在屏幕的左上角?
这是为什么?
我该如何解决这个问题?
我对Windows系统编程经验不足,现在我继续某人的工作,但是在构建项目之前,我需要摆脱警告:
The referenced component 'DataGridViewAutoFilter' could not be found.
Run Code Online (Sandbox Code Playgroud)
我想在Microsoft Visual C#2010 Express中向DataGridViewAutoFilter添加引用
但是,添加引用时,它不在.NET列表中。我知道我可以在这里下载它,但是我不确定该怎么做,因为它只是一个zip文件,而不是dll或可安装到我的系统上。我通过安装一些东西修复了所有其他依赖性,但是在这种情况下不要做什么。
有人知道如何安装DataGridViewAutoFilter吗?谢谢!