我已经以编程方式创建了一个文本文件,并将其保存到一个文件夹中,现在我需要将其保存到数据库中的一个表中(我已经创建了表),之后填写了一个带有这些文本文件的复选框并将它们发送到一个FTP服务器。 那可能吗?如果是这样我怎么能开始做/我应该怎么做? 这是创建文本文件的代码和创建表的代码。如果您对代码有任何疑问,请随时提出。
var numfatura = _transaction.TransDocument + _transaction.TransSerial + _transaction.TransDocNumber;
using (StreamWriter writer = new StreamWriter("C:\\Users\\HP8200\\Desktop\\Faturas Teste\\" +numfatura + ".txt"))
{
string numcont = _transaction.PartyFederalTaxID;
double numenc = _transaction.BillToPartyID;
DateTime data = _transaction.CreateDate;
double valor = _transaction.TotalAmount;
int zona = transaction.UnloadPlaceAddress.AddressID;
string zona2 = transaction.UnloadPlaceAddress.AddressLine2;
double quantidade = transaction.Details.Count;
string bonus = "0";
string valorStr = valor.ToString(CultureInfo.InvariantCulture);
writer.WriteLine($"{numcont};{numenc};{numfatura};{data:dd/MM/yyyy};{valorStr};{zona};");
foreach (ItemTransactionDetail detail in transaction.Details)
{
var item = MyApp.DSOCache.ItemProvider.GetItem(detail.ItemID, MyApp.SystemSettings.BaseCurrency);
double taxRate = MyApp.DSOCache.TaxesProvider.GetTaxRateFromTaxableGroupID(detail.TaxableGroupID, "PRT", "CON");
string barcode = item.BarCode;
var preconet = detail.TaxIncludedPrice;
var precoantesdisc = detail.UnitPrice;
string preconetStr = preconet.ToString(CultureInfo.InvariantCulture);
string precoantesdiscStr = precoantesdisc.ToString(CultureInfo.InvariantCulture);
writer.WriteLine($"{barcode};{taxRate};{precoantesdiscStr};{preconetStr};{quantidade};{bonus}");
}
} // create the text file
SqlConnection conn = new SqlConnection(@"Data source = 2c4138928627\Sage ; Database=ARMINDOData ; User Id=sa ; Password=sage2008+");
SqlCommand command = new SqlCommand("IF OBJECT_ID('UXFaturas', 'U') IS NULL CREATE TABLE UXFaturas(Faturas char(250));", conn);
conn.Open();
SqlCommand insertCommand = new SqlCommand("INSERT INTO UXFaturas(Faturas) VALUES (*.txt)", conn);
command.ExecuteNonQuery();
MessageBox.Show("saved"); // create the table and insert the textfile
答案 0 :(得分:0)
创建一个存储过程,该过程包含两个参数 fileName 和 fileContent ,然后将其存储在 UXFaturas表中。
CREATE PROC USP_InsertFile(@fileName nvarchar(200),@fileContent nvarchar(max))
AS
BEGIN
INSERT INTO UXFaturas VALUES(@fileName,@fileContent)
END
这里我假设您 UXFaturas表只有两列。
现在,您可以从C#ADO代码中简单地调用此存储过程,并传入正确的参数。
using (SqlConnection conn = new SqlConnection(@"Data source = 2c4138928627\Sage ; Database=ARMINDOData ; User Id=sa ; Password=sage2008+"))
{
SqlCommand command = new SqlCommand();
command.Connection = conn;
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "USP_InsertFile";
command.Parameters.AddWithValue("@fileName",fileName);
command.Parameters.AddWithValue("@fileContent",fileContent);
command.ExecuteNonQuery();
}