【发布时间】:2014-09-29 09:47:56
【问题描述】:
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile != null)
{
string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
//Save files to disk
FileUpload1.SaveAs(Server.MapPath("" + FileName));
//Add Entry to DataBase
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
OleDbConnection con = new OleDbConnection(strConnString);
string strQuery = "INSERT INTO image([FileName],[FilePath],[AlbumName]) Values(@FN, @FP, @AN)";
OleDbCommand cmd = new OleDbCommand(strQuery);
cmd.Parameters.AddWithValue("@FN", FileName);
cmd.Parameters.AddWithValue("@FP", "images/" + FileName);
cmd.Parameters.AddWithValue("@AN", txtAlbumname.Text.ToString());
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
try
{
con.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
con.Close();
con.Dispose();
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string var = DropDownList1.SelectedItem.ToString();
txtAlbumname.Text = var.ToString();
}
}
我几乎尝试了所有方法,但此错误不断出现。 保留字的情况下,我也加了括号,但仍然显示此错误
【问题讨论】:
-
请包括错误。
-
试试 INSERT INTO image(FileName,FilePath,AlbumName) Values(@FN, @FP, @AN)";
-
@ByteBlast 我已经在 Inser INto 语句中包含了语法错误的错误
-
@KhurramAli 也不工作
-
能否尝试将查询中的参数名称替换为问号(
VALUES (?, ?, ?))?可能是 OleDbQueries 在替换命名参数时遇到问题。请确保您的AddWithValue行符合要求的顺序才能正常工作。