好的人我寫我的第一個C#程序與數據庫,我有問題。 我從ACCESS數據庫,方向在哪裏是我需要複製的文件(「String my_querry」)。在Access查詢正在工作,但我的程序不能採取這個字符串,並從它複製文件...我做錯了什麼?附:對不起,我的英語C#和ACCESS SQL(* .accdb)
這是代碼:
static void Main(string[] args)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Worksheet mysheet;
Microsoft.Office.Interop.Excel.Range myrange;
excel.Workbooks.Open("E:\\access\\Book1.xlsm");
//excel.Visible = true;
mysheet = excel.Worksheets[1];
myrange = mysheet.Cells;
int lastrow = mysheet.UsedRange.Count;
for (int i = 1; i <= lastrow; i++)
{
Console.WriteLine(myrange.Item[i, 1].Value);
string fileName = myrange.Item[i, 1].Value + ".pdf";
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data source= E:\ACCESS\test.accdb";
conn.Open();
String my_querry = "SELECT adres FROM zrodla WHERE RIGHT(adres,21) = '" + fileName + "'";
OleDbCommand cmd = new OleDbCommand(my_querry, conn);
cmd.ExecuteNonQuery();
//DateTime ddd = DateTime.Now;
//string ddd2 = ddd.ToString("yyyy-MM-dd");
//string miesiac = ddd.ToString("MM");
//string dzien = ddd.ToString("dd");
string sourcePath = cmd.ToString();
string targetPath = @"E:\ACCESS\ho\";
if (System.IO.File.Exists(sourcePath+fileName))
{
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(sourceFile, destFile, true);
}
else
{
Console.Write("Plik nie istnieje!: " + fileName+"\n");
System.Data.OleDb.OleDbConnection conn2 = new System.Data.OleDb.OleDbConnection();
conn2.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data source= E:\ACCESS\test.accdb";
conn2.Open();
String my_querry2 = "INSERT INTO dane(appid) VALUES('"+fileName+"')" ;
OleDbCommand cmd2 = new OleDbCommand(my_querry, conn2);
cmd2.ExecuteNonQuery();
}
}
}
我需要查詢的結果,如「E:\ PB \發送\ 2017年5月3日\ A_20160202000555555.pdf」,但結果是0 ......我沒有任何想法,爲什麼在源路徑始終爲0 - 保存在訪問記錄沒有方向.. – Radziu