1

我有一个 Excel 工作簿,其中包含不同工作表中的数据。我想使用 asp.net 更新 excel 工作簿。

在 asp.net 中,我使用以下查询来更新 excel 数据:

OdbcConnection con = new OdbcConnection(ConfigurationManager.ConnectionStrings["SportTech"].ConnectionString);
OdbcCommand cmd;
con.Open();

string name = "sandeep";
string pos = "1";
string time = "11";
string point = "70";

string query = "UPDATE [Sheet1$] SET POSITION=\"" + pos + "\",Time=\"" + time + "\",Point=\"" + point + "\" WHERE NAME=" + name;

cmd = new OdbcCommand(query,con);
string x = cmd.ExecuteNonQuery().ToString();
MessageBox.Show(x.ToString());

但查询显示错误

错误 [42000Ձ] [Microsoft][ODBC Excel 驱动程序] UPDATE 语句中的语法错误。

谢谢!

4

1 回答 1

1

将 excel 文件放入您网站的App_Data文件夹中。

你可以试试这个:

string name = "sandeep";
string pos = "1";
string time = "11";
string point = "70";
string conStr = @"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" +
@"DBQ=|DataDirectory|\SportTech.xls;ReadOnly=0;";
OdbcConnection con = new OdbcConnection(conStr);
con.Open();
string query = "update [Sheet1$] set [POSITION]=?,[Time]=?,[Point]=? where [NAME]=?";
OdbcCommand cmd = new OdbcCommand(query, con);
cmd.Parameters.AddWithValue("?", pos);
cmd.Parameters.AddWithValue("?", time);
cmd.Parameters.AddWithValue("?", point);
cmd.Parameters.AddWithValue("?", name);
cmd.ExecuteNonQuery();
con.Close();
于 2013-09-12T15:47:09.543 回答