连接字符串错误..提供商名称?

时间:2013-06-06 19:01:52

标签: asp.net sql-server

您好我收到此错误,似乎无法弄清楚可能出错的地方。我认为它可能与提供者名称有关,但它给我带来了错误。

  

Error'ASP.default_aspx'不包含。的定义   'sqlDataSource1_Selecting'并没有扩展方法   'sqlDataSource1_Selecting'接受第一个类型的参数   可以找到'ASP.default_aspx'(你错过了一个using指令吗?   或汇编参考?)

  <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
    SelectCommand="SELECT * FROM [John_IEP_Crossing_Dock_Shipment]" 
    onselecting="SqlDataSource1_Selecting">
</asp:SqlDataSource>

这就是数据源的样子。我的网络配置看起来像这样。

 <connectionStrings>
    <add name="ConnectionString" connectionString="Provider=SQLOLEDB;Data Source=mydatasource;Persist Security Info=True;Password=mypass;User ID=myuser;Initial Catalog=mycatalog"
      providerName="System.Data.OleDb" />
  </connectionStrings>

我的连接管理器看起来像这样

  SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);




    protected void Page_Load(object sender, EventArgs e)
    {
        con.Open();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlCommand cmd = new SqlCommand("insert into tbl values('" + generateidtxt.Text + "','" + hawbtxt.Text + "','" + invrefpotxt.Text + "','" + hppartnumtxt.Text + "','" + iecpartnumtxt.Text + "','" + qtytxt.Text + "','" + bulkstxt.Text + "','" + boxplttxt.Text + "','" + rcvddatetxt.Text + "','" + statustxt.Text + "','" + carriertxt.Text + "','" + shippertxt.Text + "')", con);
        cmd.ExecuteNonQuery();
        con.Close();
        Label1.Visible = true;
        Label1.Text = "Your DATA stored Successfully!";
        hawbtxt.Text = "";
        invrefpotxt.Text = "";
        hppartnumtxt.Text = "";
        iecpartnumtxt.Text = "";
        qtytxt.Text = "";
        bulkstxt.Text = "";
        boxplttxt.Text = "";
        rcvddatetxt.Text = "";
        statustxt.Text = "";
        carriertxt.Text = "";
        shippertxt.Text = "";
    }

2 个答案:

答案 0 :(得分:3)

由于错误明确表明,您没有任何SqlDataSource1_Selecting方法(对于onselecting="SqlDataSource1_Selecting"事件处理程序)

答案 1 :(得分:1)

您的Web.config定义OleDb连接字符串(用于OleDb引擎),该字符串使用SQL Server OleDb提供程序通过OleDb连接到SQL Server。

然后,您的代码将该连接字符串传递给 Sql 连接,该连接使用SQL本机客户端直接连接到SQL Server,并使用完全不同的连接字符串。

您应该将Web.config更改为使用System.Data.SqlClient及其连接字符串格式。 (这比OleDb更有效)