2012-05-25 132 views
0

我已经创造了一些价值,我想将它们插入到数据库中,但我发现有些数据插入和其他人不表,我不知道为什么将值插入

这里是我的代码

SqlConnection con = new SqlConnection(); 
con.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=DB1;server=KHALED-PC;Connect Timeout=30"; 

char[] delimiterChars = { ' ', ',', '.', ':', '\t', '<', ':', '$', '=', ';', ' ', '<', '>', '!', ';', ']', '[', '"', 
    '/','=','-','!','#','$','%','^','&','*','/' 
}; 
string[] stopwords ={"a", "about", "above", "above", "across", "after", "afterwards", "again", "against", "all", "almost", "alone", "along", "already", "also","although","always","am","among", "amongst", "amoungst", "amount", "an", "and", "another", "any","anyhow","anyone","anything","anyway", "anywhere", "are", "around", "as", "at", "back","be","became", "because","become","becomes", "becoming", "been", "before", "beforehand", "behind", "being", "below", "beside", "besides", "between", "beyond", "bill", "both", "bottom","but", "by", "call", "can", "cannot", "cant", "co", "con", "could", "couldnt", "cry", "de", "describe", "detail", "do", "done", "down", "due", "during", "each", "eg", "eight", "either", "eleven","else", "elsewhere", "empty", 
    "enough", "etc", "even", "ever", "every", "everyone", "everything", "everywhere", "except", "few", 
    "fifteen", "fify", "fill", "find", "fire", "first", "five", "for", "former", "formerly", "forty", "found", 
    "four", "from", "front", "full", "further", "get", "give", "go", "had", "has", 
    "hasnt", "have", "he", "hence", "her", "here", "hereafter", "hereby", "herein", 
    "hereupon", "hers", "herself", "him", "himself", "his", "how", "however", 
    "hundred", "ie", "if", "in", "inc", "indeed", "interest", "into", "is", "it", 
    "its", "itself", "keep", "last", "latter", "latterly", "least", "less", "ltd", 
    "made", "many", "may", "me", "meanwhile", "might", "mill", "mine", "more", 
    "moreover", "most", "mostly", "move", "much", "must", "my", "myself", "name", 
    "namely", "neither", "never", "nevertheless", "next", "nine", "no", "nobody", 
    "none", "noone", "nor", "not", "nothing", "now", "nowhere", "of", "off", 
    "often", "on", "once", "one", "only", "onto", "or", "other", "others", 
    "otherwise", "our", "ours", "ourselves", "out", "over", "own","part", "per", 
    "perhaps", "please", "put", "rather", "re", "same", "see", "seem", "seemed", 
    "seeming", "seems", "serious", "several", "she", "should", "show", "side", 
    "since", "sincere", "six", "sixty", "so", "some", "somehow", "someone", 
    "something", "sometime", "sometimes", "somewhere", "still", "such", "system", 
    "take", "ten", "than", "that", "the", "their", "them", "themselves", "then", 
    "thence", "there", "thereafter", "thereby", "therefore", "therein", 
    "thereupon", "these", "they", "thickv", "thin", "third", "this", "those", 
    "though", "three", "through", "throughout", "thru", "thus", "to", "together", 
    "too", "top", "toward", "towards", "twelve", "twenty", "two", "un", "under", 
    "until", "up", "upon", "us", "very", "via", "was", "we", "well", "were", 
    "what", "whatever", "when", "whence", "whenever", "where", "whereafter", 
    "whereas", "whereby", "wherein", "whereupon", "wherever", "whether", 
    "which", "while", "whither", "who", "whoever", "whole", "whom", "whose", 
    "why", "will", "with", "within", "without", "would", "yet", "you", "your", 
    "yours", "yourself", "yourselves", "the" 
}; 

string[] words = txt.Split(delimiterChars);//remove punctuation character 


int index = 1; 
bool check = true; 
foreach (string f in words) 
{ 
    for (int s = 0; s < stopwords.Length; s++) 
    { 
    if (f == stopwords[s]) 
    { 
     check = false; 
     index++; 
     break; 
    } 
    } 
    if (f.Trim().Length > 0 && check == true) 
    { 
    //Console.WriteLine("word : " + e + "(position):" + index); 
    con.Open(); 
    //s.ToLower(); 
    SqlCommand cmd = new SqlCommand("INSERT INTO TableFF (Position) VALUES (@index)", con); 

    cmd.Parameters.Add(new SqlParameter("@index",index)); 

    // cmd.CommandType = CommandType.Text; 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
    index++; 
    } 
    check = true; 
} 

string []wordsbeforesoundex = new string[10000000]; 
for (int j = 0; j < words.Length; j++) 
{ 
    wordsbeforesoundex[j] = words[i]; 
} 

foreach (string word in wordsbeforesoundex) 
{ 
    string results = ""; 
    con.Open(); 

    string wordss = word; 
    SqlCommand cmd1 = new SqlCommand("INSERT INTO TableFF (SoundexNumbers) VALUES (@wordss)", con); 
    cmd1.Parameters.Add(new SqlParameter("@wordss", wordss)); 

    cmd1.ExecuteNonQuery(); 
    wordss = null; 
    con.Close(); 
} 

第一foreach循环的第一个值插入成功,但在第二的foreach没有插入我虽然确保参数和值的我插入

+0

将'IDisposable'对象('SqlConnection'和'SqlCommand')封装在'using'块中以确保正确处理这些资源。对于这个问题,继续和'Dispose'并重新创建两个循环之间的连接对象。共享应该避免成为性能问题。 –

回答

1

此行

string[] wordsaftersoundex="khaled go to school by bus and he is good boy" 

甚至不编译

如果你想的话数组尝试用这种

string[] wordsaftersoundex="khaled go to school by bus and he is good boy".Split(' ') 

在任何情况下,有你错过了告诉我们,因为如我告诉你的东西上面,你的代码甚至不编译。

+0

其实它是一个编译错误,我只是试了一下。 (第一行是) –

+0

是的,没错! –

+0

这不是我采用它的实际代码,所以它可能会导致编译错误 –