25000 個のテキスト ファイルを含むフォルダーがあり、これらのファイルを読み込んで単語を表に配置したいと考えています。 25000.txt に続きます。各テキスト ファイルには、次の形式の単語が含まれています。
sample contents of my file
apple
cat
rat
shoe
単語は他のテキストファイルでも繰り返される可能性があります。テキストファイルを読み取って、繰り返される単語と繰り返されない単語を識別し、次の形式で Sqlserver のデータベースに挿入できる ac# コードが必要です。
keyword document name
cat 1.txt,2.txt,3.txt
rat 4.txt,1.txt
fish 5.txt
`
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;
namespace RAMESH
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
string[] files = Directory.GetFiles(textBox1.Text, "*.txt");
int i;
string sqlstmt,str;
SqlConnection con = new SqlConnection("data source=dell-pc\\sql1; initial catalog=db; user id=sa; password=a;");
SqlCommand cmd;
sqlstmt = "delete from Items";
cmd = new SqlCommand(sqlstmt, con);
con.Open();
cmd.ExecuteNonQuery();
for (i = 0; i < files.Length; i++)
{
StreamReader sr = new StreamReader(files[i]);
FileInfo f = new FileInfo(files[i]);
string fname;
fname = f.Name;
fname = fname.Substring(0, fname.LastIndexOf('.'));
//MessageBox.Show(fname);
while ((str = sr.ReadLine()) != null)
{
int nstr=1;
//int x,y;
//for (x = 0; x < str.Length; x++)
//{
// y = Convert.ToInt32(str.Substring(x,1));
// if ((y < 48 && y > 75) || (y < 65 && y > 97) || (y < 97 && y > 122)) ;
//}
sqlstmt = "insert into Items values('" + str + "','" + fname + "')";
cmd = new SqlCommand(sqlstmt, con);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
sqlstmt = "update Items set docname=docname + '," + fname + "' where itemname='" + str + "'";
cmd = new SqlCommand(sqlstmt, con);
cmd.ExecuteNonQuery();
}
}
sr.Close();
}
MessageBox.Show("keywords added successfully");
con.Close();
}
}
} `