您好我收到此错误,似乎无法弄清楚可能出错的地方。我认为它可能与提供者名称有关,但它给我带来了错误。
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 = "";
}
答案 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更有效)