[英]Error in asp.net c# code
我有以下代码,我以前的文章中stackoverflow用户向我推荐了此代码,它抛出一些错误
protected void Button2_Click(object sender, EventArgs e)
{
String a = DropDownList1.SelectedItem.Value;
String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0');
String c = TextBox2.Text.PadLeft(5,'0').ToString();
String d = TextBox3.Text.ToString();
String digit = a+ b + c + d;
string sql = "select * from testcase.main where reg_no =?";
try
{
using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"),
OdbcCommand cmd = new OdbcCommand(sql, myConn))
{
myConn.Open();
//**
cmd.Parameters.AddWithValue("?", digit);
using (odbcReader MyReader = cmd.ExecuteReader())
{
//**
while (MyReader.Read())
{
String f = MyReader["pet_name"].ToString();
String g = MyReader["res_name"].ToString();
Label9.Visible = true;
Label9.Text = f;
Label10.Visible = true;
Label10.Text = "VS";
//Label11.Visible = true;
Label11.Text = g;
}
}
}
}
catch (Exception e1)
{
Response.Write(e1.ToString());
}
}
错误是:
Error 1 Cannot use more than one type in a for, using, fixed, or declaration statement
我该如何解决此错误?声明中有什么问题?
您在using
语句中包装了两个变量:
using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"),
OdbcCommand cmd = new OdbcCommand(sql, myConn))
将它们分成两个嵌套的using
语句。
using( IDisposable obj1 )
{
using( IDisposable obj2 )
{
// code
}
}
您不能在单个using
语句中声明两种不同类型的变量。
您需要在两个不同的using
语句中声明OleDbConnection
和OleDbCommand
:
using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"))
using (OdbcCommand cmd = new OdbcCommand(sql, myConn)) {
...
}
您是否尝试过在此行中没有myConn和cmd的情况:
using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"),
OdbcCommand cmd = new OdbcCommand(sql, myConn))
我相信您有错别字。 请尝试以下方法:
protected void Button2_Click(object sender, EventArgs e)
{
String a = DropDownList1.SelectedItem.Value;
String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0');
String c = TextBox2.Text.PadLeft(5,'0').ToString();
String d = TextBox3.Text.ToString();
String digit = a+ b + c + d;
string sql = "select * from testcase.main where reg_no =?";
try
{
using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"))
using (OdbcCommand cmd = new OdbcCommand(sql, myConn))
{
myConn.Open();
//**
cmd.Parameters.AddWithValue("?", digit);
using (OdbcDataReader MyReader = cmd.ExecuteReader())
{
//**
while (MyReader.Read())
{
String f = MyReader["pet_name"].ToString();
String g = MyReader["res_name"].ToString();
Label9.Visible = true;
Label9.Text = f;
Label10.Visible = true;
Label10.Text = "VS";
//Label11.Visible = true;
Label11.Text = g;
}
}
}
}
catch (Exception e1)
{
Response.Write(e1.ToString());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.