要是代码是:则提示 编译器错误信息: CS0103: 名称“myConnection”在类或命名空间“ASP.write_aspx”中不存在
<script language="C#" runat="server">
private void DBOpen()
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
OleDbConnection myConnection = new OleDbConnection(conn);
myConnection.Open();
}private void send_click(Object Src, EventArgs E)
{
DBOpen();
string insertQuery = "Insert Into gb(gb_name,gb_title,gb_content,gb_date,gb_mail,gb_homepage,gb_sex) Values ('"+name.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now+"','"+Email.Text+"','"+homepage.Text+"','"+ (Male.Checked ? Male.Text : Female.Text) +"')";
OleDbCommand cmd = new OleDbCommand(insertQuery,myConnection);
cmd.ExecuteNonQuery();
cmd.Dispose();
myConnection.Close();
myConnection.Dispose();
Response.Write("<p align=center><a href=index.aspx>Post Message Succeed,Click Here To Go To Default</a></p>");
}
</script>======================================
但改成,把连接数据库的代码放到send_click去就不会出现错误了,为什么??
private void send_click(Object Src, EventArgs E)
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
OleDbConnection myConnection = new OleDbConnection(conn);
myConnection.Open();
string insertQuery = "Insert Into gb(gb_name,gb_title,gb_content,gb_date,gb_mail,gb_homepage,gb_sex) Values ('"+name.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now+"','"+Email.Text+"','"+homepage.Text+"','"+ (Male.Checked ? Male.Text : Female.Text) +"')";
OleDbCommand cmd = new OleDbCommand(insertQuery,myConnection);
cmd.ExecuteNonQuery();
cmd.Dispose();
myConnection.Close();
myConnection.Dispose();
Response.Write("<p align=center><a href=index.aspx>Post Message Succeed,Click Here To Go To Default</a></p>");
}
</script>
<script language="C#" runat="server">
private void DBOpen()
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
OleDbConnection myConnection = new OleDbConnection(conn);
myConnection.Open();
}private void send_click(Object Src, EventArgs E)
{
DBOpen();
string insertQuery = "Insert Into gb(gb_name,gb_title,gb_content,gb_date,gb_mail,gb_homepage,gb_sex) Values ('"+name.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now+"','"+Email.Text+"','"+homepage.Text+"','"+ (Male.Checked ? Male.Text : Female.Text) +"')";
OleDbCommand cmd = new OleDbCommand(insertQuery,myConnection);
cmd.ExecuteNonQuery();
cmd.Dispose();
myConnection.Close();
myConnection.Dispose();
Response.Write("<p align=center><a href=index.aspx>Post Message Succeed,Click Here To Go To Default</a></p>");
}
</script>======================================
但改成,把连接数据库的代码放到send_click去就不会出现错误了,为什么??
private void send_click(Object Src, EventArgs E)
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
OleDbConnection myConnection = new OleDbConnection(conn);
myConnection.Open();
string insertQuery = "Insert Into gb(gb_name,gb_title,gb_content,gb_date,gb_mail,gb_homepage,gb_sex) Values ('"+name.Text+"','"+title.Text+"','"+content.Text+"','"+DateTime.Now+"','"+Email.Text+"','"+homepage.Text+"','"+ (Male.Checked ? Male.Text : Female.Text) +"')";
OleDbCommand cmd = new OleDbCommand(insertQuery,myConnection);
cmd.ExecuteNonQuery();
cmd.Dispose();
myConnection.Close();
myConnection.Dispose();
Response.Write("<p align=center><a href=index.aspx>Post Message Succeed,Click Here To Go To Default</a></p>");
}
</script>
这样看会比较清晰!
OleDbConnection myConnection;
private void DBOpen()
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
myConnection = new OleDbConnection(conn);
myConnection.Open();
}
myConnection.Dispose();以上2句不行。
myConnection 是DBOpen()中的。
就是说在你的 send_click没有定义myConnection 你应该在
OleDbConnection myConnection ;
private void DBOpen()
{
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(ConfigurationSettings.AppSettings["Stevenbass"]);
myConnection = new OleDbConnection(conn);
myConnection.Open();
}
myConnection.Close();
myConnection.Dispose();以上2句不行。
myConnection 是DBOpen()中的。
是什么意思呢??
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS1002: 应输入 ;源错误:行 4:
行 5: <script language="C#" runat="server">
行 6: OleDbConnection myConnection;<============================这行提示错误
行 7: private void DBOpen()
行 8: {