创建 OleDBConnection
Creating OleDBConnection
我正在将代码从 VS2010 迁移到 VS2013,我在 VS2010 中的语法在 13 中显示编译错误?!?有人可以帮助我解释为什么会抛出这两个编译错误吗?
Syntax error, ',' expected
{ expected
这是在 10.w/o 问题中有效的语法。
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" 后的大括号用于设置新创建对象的attributes/properties,而不是运行 其他任意代码。如果这确实在 VS2010 中 运行,我不知道为什么。
我正在将代码从 VS2010 迁移到 VS2013,我在 VS2010 中的语法在 13 中显示编译错误?!?有人可以帮助我解释为什么会抛出这两个编译错误吗?
Syntax error, ',' expected
{ expected
这是在 10.w/o 问题中有效的语法。
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" 后的大括号用于设置新创建对象的attributes/properties,而不是运行 其他任意代码。如果这确实在 VS2010 中 运行,我不知道为什么。