2014-04-20 56 views
0

我正在努力在我正在提取所有形容词现在我需要将其存储在数据库中,我已经成功地将此添加到数据库,但问题与我,我想存储形容词与数据库分开如何单独存储形容词,或者例如我们有字符串,我们希望将每个单词单独存储到数据库中,并且我们只有一列,我们如何做到这一点? 。请帮助我出局 这里是我的代码。在C中插入字符串数据到数据库#

private void button2_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       string cleaned = richTextBox1.Text.Trim(); 
       string st = "INSERT INTO TABLE1(adjective)VALUES('" + cleaned + "')"; 
       SqlConnection con = new SqlConnection("Data Source=ZAZIKHAN\\SQLEXPRESS;Initial Catalog=mis;Integrated Security=True"); 
       con.Open(); 
       SqlCommand cmd = new SqlCommand(st, con); 


       if (cmd.ExecuteNonQuery() == 1) 
       { 

        MessageBox.Show(" succesfully added"); 
       } 
       else 
       { 
        MessageBox.Show("Sorry we couldnt add the Values Please try Again"); 

       } 
       con.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("" + ex); 
      } 
     } 

现在我有这个数据存储在richtextbox中。

local/JJ daily/JJ n/price/rate/JJ human/JJ possible/JJ correct/JJ exact/JJ local/JJ 

local/JJ daily/JJ n/price/rate/JJ human/JJ possible/JJ correct/JJ exact/JJ local/JJ 

dry/JJ nd/JJ 

new/JJ full/JJ OK/JJ final/JJ white/JJ OK/JJ howajaa/JJ smajder/JJR agaa/JJ nasambd/JJ Live/JJ 



final/JJ 



great/JJ s3/JJ final/JJ 

resistant/JJ Z1/JJ white/JJ new/JJ black/JJ amaa.Kintact/JJ possible/JJ main/JJ mobile/JJ rapak/JJ mil/JJ 

important/JJ mil/JJ smart/JJ 



35-h/JJ OK/JJ full/JJ 











Want/JJ complete/JJ white/JJ same/JJ 

available/JJ perfect/JJ 

interested/JJ 

回答

0

您可以前缀与一些字符你的话来表明他们是否是动词,名词,形容词和tehn数据库

如插入这些值 N_JonSkeet - 名词

V_Solve - 动词

A_Highest - 形容词

string cleaned = extractAdjective(richTextBox1.Text.Trim()); 
string st = "INSERT INTO TABLE1(word) VALUES(@Word)"; 
SqlConnection con = new SqlConnection("Data Source=ZAZIKHAN\\SQLEXPRESS;Initial Catalog=mis;Integrated Security=True"); 
con.Open(); 
SqlCommand cmd = new SqlCommand(st, con); 
SqlParameter param = new SqlParameter("@Word", SqlDbType.NChar); 
param.Value = "A_"+cleaned; 
cmd.Parameters.Add(param); 
+0

兄弟我已经成功地提取从字符串的形容词,但这里的问题是要分开存放这些形容词 – Vicky

+0

纠正我,如果我错了我已经理解了....你有一列的表,你想插入单词在该列..单词可以是动词,名词形容词等... –

+0

没有兄弟这个词只是形容词我有一个巨大的字符串,现在我想这些objecteve存储在数据库,但单独 – Vicky

1

首先,线

string cleaned = richTextBox1.Text.Trim(); 
string st = "INSERT INTO TABLE1(adjective)VALUES('" + cleaned + "')"; 

创建称为SQL Injection大规模的安全漏洞。

为了将这些形容词分别存储在正确的非规范化数据库中,您需要有一个父表,例如,原始句子被存储,并且子表格与父对象之间存在1:N的关系,每个形容词存储一行加上父行的相应ID。

由于您只有一列可用,因此您可以使用任何方便的格式将单词列中的形容词数组存储起来。您可以序列化该数组(以二进制,XML,JSON等)并存储它,或者因为您知道您的输入字符集有限,您甚至可以将它存储为逗号分隔列表。

+0

你能给我一个例子兄弟或有用的链接,它涉及到我的问题 – Vicky

+0

@Vicky:你*可以*只是存储什么在富文本框到你的表中的列,但我读你的问题是您将首先以某种方式处理该数据。你能解释一下你想要存储的内容吗?如果您的表格列已预先定义,请同时分享表格列的外观。 –

+0

我编辑了我的问题并显示富文本框bro中的内容,并且我想将这些形容词存储在单独的行中 – Vicky

0

我将字符串分隔成列表,然后遍历列表,并插入到你的数据库:

var vals = "local/JJ daily/JJ n/price/rate/JJ human/JJ possible/JJ..."; 
var results = vals.Replace(" ", "") 
        .Replace("/JJ", "|") 
        .Replace("/", "|") 
        .Split('|') 
        .Distinct(); 

while(var result in results) 
{ 
    // DO insert here 
} 
相关问题