Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在sql数据库中拆分文本并插入单词_C# - Fatal编程技术网

C# 在sql数据库中拆分文本并插入单词

C# 在sql数据库中拆分文本并插入单词,c#,C#,我想选择file contains.txt,并将每个文本中的所有字符串拆分为数组 然后将分割的单词插入sql数据库(单词、计数器),并按计数器计算每个文本中的重复单词,从而导致数据库表中出现未重复的单词>> (1) -计数器代码不正确我在代码>>中发现了多个错误(我想防止单词重复同时使用计数器计算数据库中单词重复的次数。) (2) -我的代码有静态路径(只有一个文本),但我希望用户选择要拆分的文件。(浏览..按钮) (3-)sql数据库无法显示阿拉伯单词(???) 名称空间lib123 { 公共

我想选择file contains
.txt
,并将每个文本中的所有字符串拆分为数组 然后将分割的单词插入sql数据库(单词、计数器),并按计数器计算每个文本中的重复单词,从而导致数据库表中出现未重复的单词>>

(1) -计数器代码不正确我在代码>>中发现了多个错误(我想防止单词重复同时使用计数器计算数据库中单词重复的次数。) (2) -我的代码有静态路径(只有一个文本),但我希望用户选择要拆分的文件。(浏览..按钮) (3-)sql数据库无法显示阿拉伯单词(???)

名称空间lib123
{
公共部分类Form1:Form
{
SqlConnection-sqlConn;
SqlCommand-sqlComm;
SqlDataAdapter;
公共表格1()
{
初始化组件();
sqlConn=新的SqlConnection();
sqlComm=newsqlcommand();
sqlAdptr=新的SqlDataAdapter();
sqlComm.Connection=sqlConn;
sqlComm.CommandType=CommandType.Text;
sqlConn.ConnectionString=“数据源=007-PC\\SQLEXPRESS;初始目录=Email\u DB;集成安全性=True”;
}
私有void Form1\u加载(对象发送方、事件参数e)
{
FillGrid();
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{              
if(sqlConn.State!=ConnectionState.Open)
sqlConn.Open();
//sqlComm=sqlConn.CreateCommand();
StreamReader StreamReader=new StreamReader(@“C:\Users\007\Desktop\spam email\spamenglish.txt”);//获取文件
string stringWithMultipleSpaces=streamReader.ReadToEnd();//将文件加载到字符串
streamReader.Close();
Regex r=new Regex(“+”)//指定分隔符(空格)
string[]words=r.Split(stringWithMultipleSpaces);/(将字符串转换为单词数组)
int c=1;
string strQry=“从word_tb中选择ISNULL(max(id),0)作为id”;
sqlComm.CommandText=strQry;
int LastID=int.Parse(sqlComm.ExecuteScalar().ToString());
字符串x;
字符串st=null;
for(int i=0;i1-计数器代码不正确我在代码中发现了几个错误

您可以使用下面的代码将文件
文本
根据
空格
作为
分隔符
拆分为
单词

代码:

 String strAllData = System.IO.File.ReadAllText(@"C:\Users\007\Desktop\spam-email\spamenglish.txt");
 String[]  words = strAllData.Split(' ');
2-我的代码有静态路径(只有一个文本),但我希望用户选择 他要拆分的文件。(浏览..按钮)

您可以使用
OpenFileDialog
控件让用户选择要处理的文件

代码:

        OpenFileDialog fileDialog = new OpenFileDialog();
        if (fileDialog.ShowDialog() == DialogResult.OK)
        {
            String strAllData = System.IO.File.ReadAllText(fileDialog.FileName);
            String[]  words = strAllData.Split(' ');
        }
3-sql数据库无法显示阿拉伯语单词(???)

Sql Server
在启动SELECT查询时无法显示
Uni-code
字符,因为您已将表列/feild创建为
varchar

解决方案:如果您想在启动
选择
查询时获得
阿拉伯文
字符,您应该使用
NVARCHAR
数据类型而不是
VARCHAR
N
代表
国家语言字符集
来创建表列,以接受
unicode
字符

步骤1:创建表列作为
NVARCHAR
,如下所示:

create table sample(
[name] [nvarchar](100) NOT NULL)
第2步:将数据插入
NVARCHAR
列时,使用
N
作为前缀。N作为前缀表示以下所有字符都是
Uni code
字符

代码:

INSERT INTO sample VALUES(N'لا أتكلم العربية');

现在,如果您启动一个
SELECT
查询,您将能够看到
阿拉伯文
字符。

好的……那么您的问题是什么?1-计数器代码不正确我在我的代码中发现了几个错误>>>(2)-我的代码有静态路径(只有一个文本),但我希望用户选择要拆分的文件。(浏览..按钮)第一个问题(1),我想通过使用计数器来计算数据库中重复多少次的单词。??
INSERT INTO sample VALUES(N'لا أتكلم العربية');