Сегодня я хотел написать код, который сканирует все файлы в папке «Документы» пользователя, берет текст и имена файлов и помещает их в базу данных (просто как своего рода тест, если бы я мог это сделать, а не для получения данных). Но если он вставляет контент в базу данных, моя программа сообщает, что есть синтаксическая ошибка с текстом в файлах в моей папке документов.
Мой код:
using System;
using MySql.Data.MySqlClient;
using System.IO;
namespace HelloWorld
{
class Program
{
static void
Main(string[] args)
{
Console.WriteLine("Getting Connection ...");
var datasource = @"localhost";//your server
var database = "database"; //your database name
var username = "username"; //username of server to connect
var password = "password"; //password
//your connection string
string connStr = $"Server={datasource};Database={database};Uid={username};Pwd={password}";
//create instanace of database connection
using (var conn = new MySqlConnection(connStr))
{
try
{
Console.WriteLine("Openning Connection ...");
//open connection
conn.Open();
Console.WriteLine("Connection successful!");
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
}
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var txtFiles = Directory.EnumerateFiles(path, "*.*");
foreach (string currentFile in txtFiles)
{
string currentfile_txt = File.ReadAllText(currentFile);
var stm = $"INSERT INTO file_contents(File_Name, File_Content) VALUES ({currentFile}, {currentfile_txt});";
var cmd = new MySqlCommand(stm, conn);
cmd.ExecuteNonQuery();
}
}
}
}
}
Но если я его запускаю, он дает мне эту ошибку:
Необработанное исключение. MySql .Data.MySqlClient.MySqlException (0x80004005): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с ': \ Users \ 49176 \ Documents \ aaa.txt,)' в строке 1
Кажется, что он обрабатывает текст в aaa.txt как SQL Код. Как я могу это изменить? (кстати: в txt файле всего несколько случайных букв)
Надеюсь, вы мне поможете