我正在尝试将相关行放入数据表中,我只想要列值等于其他 sql 表中的值之一的行,这是我的代码:
try
{
sc.Open();
for (int i = 0; i < queryTokens.Length; i++)
{
cmd = new SqlCommand("INSERT INTO QueryIndex (Term) Values ('" + queryTokens[i] + "')", sc);
cmd.ExecuteNonQuery();
}
cmd = new SqlCommand("SELECT * FROM TermsIndex Where Term EXIST (Select Term From QueryIndex)");
SqlDataAdapter da = neuw SqlDataAdapter(cmd);
da.Fill(tempTable);
da.Dispose();
sc.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
我敢肯定插入的第一部分进展顺利,但在第二部分,我希望你们都明白我想要做什么,我知道我在这里有语法错误,所以请纠正我,我明白了异常消息:{"Value cannot be null.\r\nParameter name: dataTable"} Null exception..
这是我的 sql 创建表:
CREATE TABLE [dbo].[TermsIndex]
(
[ID] VARCHAR(35) NOT NULL,
[Term] VARCHAR(35) NOT NULL,
[Frequency] int NOT NULL,
[Offset] VARCHAR(MAX) NOT NULL,
)
CREATE TABLE [dbo].[QueryIndex]
(
[Term] VARCHAR(MAX) NOT NULL,
)
那么为什么我得到那个空错误呢?无论如何我正在创建一个表只是为了能够将它的条目与第一个列中的列进行比较,我已经有了它的字符串数组,任何机会能够将该列值与更改的字符串数(令牌)进行比较并返回行结果是否等于 sql 命令中的这些字符串之一?或者任何更优雅的方式来获得想要的结果?