我正在将代码从VS2010迁移到VS2013,我在VS2010中的语法显示13中的编译错误?!? 有人可以帮助我为什么抛出这两个编译错误吗?
Syntax error, ',' expected
{ expected
这是在 10 中没有问题的语法。
public static string DCAVACA(string badTable)
{
olecon = new OleDbConnection(OLECONN)
{
olecon.Open();
deleteTable = new string[1] { "badTable" };
for (int q = deleteTable.GetLowerBound(0); q <= deleteTable.GetUpperBound(0); q++)
{
System.Data.OleDb.OleDbCommand cmd = new OleDbCommand("DROP TABLE " + deleteTable[q], olecon);
cmd.ExecuteNonQuery();
}
}
return null;
}
我认为语法不应该在任何版本的Visual Studio tbh中工作。FWIW,我认为您想使用 using
语句:
public static string DCAVACA(string badTable)
{
using (var olecon = new OleDbConnection(OLECONN)) // only change required for *syntactic* reasons
{
olecon.Open();
deleteTable = new string[1] { "badTable" };
for (int q = deleteTable.GetLowerBound(0); q <= deleteTable.GetUpperBound(0); q++)
{
System.Data.OleDb.OleDbCommand cmd = new OleDbCommand("DROP TABLE " + deleteTable[q], olecon);
cmd.ExecuteNonQuery();
}
}
return null;
}
一般来说,代码还有其他一些问题(badTable
变量根本没有使用,deleteTable
作为静态string[2]
、命名等是无用的),但这超出了范围。
您在 olecon = new OleDbConnection(OLECONN)
之后缺少分号。
"new"后面的大括号用于设置新创建对象的属性/属性,而不是运行其他任意代码。如果这真的在VS2010中运行,我不知道为什么。