很具体的问题。我正在制作一个检测文件的程序。当有一个具有特定名称的新文件时,它会将其保存到服务器。这工作正常。问题是,它保存的变量之一是一个唯一的数字,它应该随着它上传的每个文件而增加。所以第一个文件的唯一编号为 400,下一个文件的唯一编号为 401,依此类推。
我上传了一个测试文件到服务器,所以已经有一个唯一编号为 400 的文件。我现在想要的是我的下一个文件应该有下一个编号。为此,它必须从第一列的最后一个单元格中获取数字。我发现 SQL 语句是 SELECT TOP 1 * FROM EKG_Temp ORDER BY ekgmaaleid DESC。我已经对包含 SQL 语句的命令 loadCMD 进行了评论。
表的名称是 EKG_Temp。列的名称是 ekgmaaleid,类型是 BigInt
我有兴趣将 ekgmaaleid 列中的最后一个单元格保存为我的程序中的变量,以供以后使用。
public void SaveFile(string fileName, byte[] BlobValue)
{
string fullPath = (folder + "/" + fileName);
fileExtension = fileName.Substring(fileName.Length - 3);
if (saveBool == true)
{
SqlConnection con = new SqlConnection(@"Data Source=Irrelavant");
SqlCommand SaveCmdTemporary = new SqlCommand("insert into EKG_Temp(ekgmaaleid,dato,borger_cprnr,raa_data,maaleformat_type) values(@ekgmaaleid,@dato,@borger_cprnr,@raa_data,@maaleformat_type)", con);
//SqlCommand SaveCmdPermanent = new SqlCommand("insert into EKG_Temp(ekgmaaleid,dato,borger_cprnr,raa_data,maaleformat_type) values(@ekgmaaleid,@dato,@borger_cprnr,@raa_data,@maaleformat_type)", con);
//SqlCommand LoadCmd = new SqlCommand("SELECT TOP 1 * FROM EKG_Temp ORDER BY ekgmaaleid DESC", con); //Husk at den faktisk skal vælge måleid ud fra EKG_Gemt i virkeligheden
SqlParameter ekgmaaleidParam = new SqlParameter("@ekgmaaleid", SqlDbType.BigInt);
SqlParameter datoParam = new SqlParameter("@dato", SqlDbType.DateTime);
SqlParameter borger_cprnrParam = new SqlParameter("@borger_cprnr", SqlDbType.NVarChar, 50);
SqlParameter raa_dataParam = new SqlParameter("@raa_data", SqlDbType.VarBinary, -1);
SqlParameter maaleformat_typeParam = new SqlParameter("@maaleformat_type", SqlDbType.NVarChar, 10);
SqlParameter loadMaaleIDParam = new SqlParameter("@ekgmaaleid", SqlDbType.BigInt);
con.Open();
SaveCmdTemporary.Parameters.Add(ekgmaaleidParam);
SaveCmdTemporary.Parameters.Add(datoParam);
SaveCmdTemporary.Parameters.Add(borger_cprnrParam);
SaveCmdTemporary.Parameters.Add(raa_dataParam);
SaveCmdTemporary.Parameters.Add(maaleformat_typeParam);
//LoadCmd.Parameters.Add(loadMaaleIDParam);
datoParam.Value = dato;
borger_cprnrParam.Value = cpr;
raa_dataParam.Value = BlobValue; //Kommer fra metoden FileCreated.
maaleformat_typeParam.Value = fileExtension;
try
{
SaveCmdTemporary.Connection.Open();
SaveCmdTemporary.ExecuteNonQuery();
MessageBox.Show("File saved to database.", "BLOB Saved", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Save Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
SaveCmdTemporary.Connection.Close();
saveBool = false;
}
}
}
这是数据库的图片以及我希望它执行的操作。
提前致谢。