在“类型”之后“新表达式需要(),[]或{}是什么意思?

时间:2013-11-04 14:30:32

标签: c# linq types expression

这是我的代码:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Data;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = "Data Source=OCS-MXL930055N\\;Initial           Catalog=sample;Integrated Security=True";
        SqlCommand cmd = new SqlCommand

        con.Open("Select * from ShoppingList", con);

        con.Close("Select * from ShoppingList", con);
    }
}

这些是我遇到问题的路线:

con.Open("Select * from ShoppingList", con)();

con.Close("Select * from ShoppingList", con)();

他们的意思是什么帮助?我不太确定我做错了什么。

3 个答案:

答案 0 :(得分:5)

您的陈述:

SqlCommand cmd = new SqlCommand

应该是:

SqlCommand cmd = new SqlCommand("Select * from ShoppingList");

稍后当您打开和关闭连接时,只需删除参数,SqlCommand构造函数需要这些参数。

您的代码可能如下:

using(SqlConnection con = new SqlConnection("Data Source=OCS-MXL930055N\\;Initial Catalog=sample;Integrated Security=True"))
using(SqlCommand cmd = new SqlCommand("Select * from ShoppingList", con))
{
    //.. code to execute command
}

了解基本的C#,构造函数和ADO.Net Examples on MSDN

答案 1 :(得分:4)

C#不是红宝石,你需要知道你的意图。有三种实例化对象的方法,全部使用new运算符:: e.g。

var myObj = new MyObj(); // call a constructor (parameterless)
var myObjArray = new MyObj[10]; // create an array of 10 MyObjs
var myObj = new MyObj{someProperty="someValue"}; // initializer notation.

请注意,您可以混合数组和初始化程序,以便您可以执行此操作及其legals ::

var myInts = new int[]{1,2,3,4,5,6}; //create an int array with 6 values.

要修复您的代码段,您需要添加类似于::

的parens
   SqlCommand cmd = new SqlCommand();

如果您要发送sql字符串,我强烈建议您使用nuget上的库Dapper-Dot-Net

答案 2 :(得分:1)

您尚未正确创建SqlCommand实例:

SqlCommand cmd = new SqlCommand

变成:

SqlCommand cmd = new SqlCommand("Select * from ShoppingList");

反过来意味着:

con.Open("Select * from ShoppingList", con)();

变得简单:

con.Open();

con.Close();类似。