小编naw*_*fal的帖子

C#中的参数化查询中占位符的正确方式

一切正常,但这只是为了知道正确的练习/正确的方法/有意义的

说我有代码:

string query = "SELECT * FROM table WHERE parent_id=@parentId and id = @id";
OleDbCommand c = new OleDbCommand(query, _con);
Run Code Online (Sandbox Code Playgroud)

对于剩下的部分,以下哪项是正确的?:

c.Parameters.AddWithValue("@parentId", 1);
c.Parameters.AddWithValue("@id", 2);
Run Code Online (Sandbox Code Playgroud)

要么

c.Parameters.AddWithValue("parentId", 1);
c.Parameters.AddWithValue("id", 2);
Run Code Online (Sandbox Code Playgroud)

要么

c.Parameters.AddWithValue(@"parentId", 1);
c.Parameters.AddWithValue(@"id", 2);
Run Code Online (Sandbox Code Playgroud)

(我知道它不是第三个)第二个看起来正确的方式.所有这些都取决于SQL实际如何从代码中解释参数化参数.有什么想法吗?我特别要问,因为我不喜欢一个知识渊博的人嘲笑我编码的不良习惯,如果有的话可以在这里:)

更新:据我所知,即使msdn没有遵循约定,也使用第1和第2.我将坚持使用第一个明确的第一个.谢谢

c# sql parameterized-query

0
推荐指数
1
解决办法
1248
查看次数

如何安排消息弹出窗口并仅显示最后一条消息?

我创建以下表单,然后单击3个按钮(随机).单击按钮后,必须在单击3秒后显示相关消息.但是,如果我同时点击了另一个按钮,则必须显示该按钮的相关消息,并且必须取消队列中的上一条消息.

例如,如果我button1在11.30.00 点击,则相关消息应仅在11.30.03弹出,如"你点击:1秒前1秒".但是如果我button2在11.30.03之前点击另一个,比如说在11.30.02那么相关的消息应该在11.30.05弹出,比如"你点击:3秒之前的2",并且必须取消预定于11.30.03的消息.

这是我的代码:

private int signal = 0;

public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    signal = 1;
    displayMessage(signal);
}

private void button2_Click(object sender, EventArgs e)
{
    signal = 2;
    displayMessage(signal);
}

private void button3_Click(object sender, EventArgs e)
{
    signal = 3;
    displayMessage(signal);
}

private void displayMessage(int number) 
{       
    MessageBox.Show("You clicked : "+number+ "before 3 Seconds");
}
Run Code Online (Sandbox Code Playgroud)

.net c# timer

0
推荐指数
1
解决办法
304
查看次数

如何干这两个"条件做"?

我有这样的函数(parent并且formToBeShown是WinForms表单实例):

if (parent == null)
    while (!formToBeShown.IsDisposed)
        Do();
else
    while (!parent.IsDisposed && !formToBeShown.IsDisposed)
        Do();
Run Code Online (Sandbox Code Playgroud)

我发现这些非常不优雅.我很乐意Do只调用一次这个函数.如果我可以将所有条件合并到一个while循环中,那就更好了.不知道我是否有脑屁,但我想不出有办法实现这一点.一些想法?

c# dry while-loop

0
推荐指数
1
解决办法
128
查看次数

在linq查询中调用构造函数

我需要在linq查询中调用构造函数.

我收到此错误:

LINQ to Entities中仅支持无参数构造函数和初始值设定项.

这是我的linq查询:

IQueryable<Object> list = (from u in db.Object select new Object(u));
Run Code Online (Sandbox Code Playgroud)

这是我的构造函数:

public Object(Object presentation){}
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework

0
推荐指数
1
解决办法
3262
查看次数

我的代码中的.NET 3.5相当于WriteAllLines是什么?

var output = query.Select(x => x.Plant + "\t" + x.Animal + "\t" + blah blah blah);
string FilePath = @"C:\output.txt";
File.WriteAllLines(FilePath, output);
Run Code Online (Sandbox Code Playgroud)

将目标框架从4.0切换到3.5时出现的错误是:

错误14'System.IO.File.WriteAllLines(string,string [])'的最佳重载方法匹配有一些无效的参数

切换到3.5 Framework的最简单方法是什么,而不必更改太多代码并仍然保持其功能?

.net c# io .net-3.5

0
推荐指数
1
解决办法
280
查看次数

C#中的> +和>是什么意思

我不小心试过这个,编译!所以我想知道这可能是什么意思..谷歌没有帮助..

if (3 >+ 4)
   dothis() //this is never hit btw..

if (3 >- 4)
   dothis() //this is hit.
Run Code Online (Sandbox Code Playgroud)

两个代码编译btw ..

.net c# operators

-2
推荐指数
1
解决办法
189
查看次数

C#double到整数

假设我有double42.433243,我想将其转换为整数42433243.

当小数长度是随机的时,这样做的代码是什么?

更多例子:

45.25 => 4525

125.152254 => 125152254

etc...
Run Code Online (Sandbox Code Playgroud)

c#

-4
推荐指数
1
解决办法
359
查看次数