C# C:如何根据字符串检查数据行
我当前打开了一个连接,该连接只是通过用户输入的依赖项进行查询。我的对象是正确的,我已经设置了与对象相关的实例,并且一切正常 我现在需要匹配,如果用户输入与存储的数据库数据相同,那么它似乎不起作用;不过我没有犯错误 在做了一些我自己的调试和研究之后,我尝试使用ToString将我的DataRow转换成字符串;但还是没有运气 任何人都可以看看这段代码,并可能帮助我尝试找出这一点吗?非常感谢C# C:如何根据字符串检查数据行,c#,asp.net,.net,C#,Asp.net,.net,我当前打开了一个连接,该连接只是通过用户输入的依赖项进行查询。我的对象是正确的,我已经设置了与对象相关的实例,并且一切正常 我现在需要匹配,如果用户输入与存储的数据库数据相同,那么它似乎不起作用;不过我没有犯错误 在做了一些我自己的调试和研究之后,我尝试使用ToString将我的DataRow转换成字符串;但还是没有运气 任何人都可以看看这段代码,并可能帮助我尝试找出这一点吗?非常感谢 DataSet ds = new DataSet(); query = new MySqlDataAdapte
DataSet ds = new DataSet();
query = new MySqlDataAdapter(SQL, conn);
query.Fill(ds, "AllData");
DataTable dt = new DataTable();
dt = ds.Tables["AllData"];
DataRow[] r = dt.Select();
int i = 0;
while (i != r.Length)
{
string toTest = r[i]["BusinessID"].ToString();
if(toTest == sinput)
{
注意:sinput是用户输入,r[i][BusinessID]包含数据库中的数据,我正试图将其与输入字符串进行匹配
编辑:我没有将任何内容传递到dt。出于安全目的,请选择此选项,因为我不希望用户直接输入查询。请查找代码:我对值进行了硬编码,而不是数据库中的数据。 希望对你有帮助
string Name = "Test1";
int Id = 1;
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("Id",typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Rows.Add(1,"Test");
dt.Rows.Add(1, "Test1");
DataRow[] r = dt.Select();
int i = 0; //Not Required.
while (r.Length>0)
{
string toTest = r[i]["Name"].ToString();
int toTest1 =Convert.ToInt32(r[i]["Id"]);
if (toTest == Name)
{
Console.WriteLine(toTest);
}
if (toTest1 == Id)
{
Console.WriteLine(toTest1);
}
}
你可以考虑做D[我] [生意人]。而不是我也尝试过的数据行。我做了一个简单的回答;它确实保存了正确的数据,只是出于某种原因,我无法将字符串与其保存的数据进行匹配。sinput是否也保存了正确的值?您的代码段没有显示赋值在if语句之前放置断点,并检查toTest和sinput的值,您描述的是它们不匹配。请注意,如果使用不同的编码,两个看起来相同的字符串可能不匹配。您可以尝试使用string.Equalsstr1、str2、comparison;而不是==因为您可以指定比较类型。我理解这一点,但BusinessID实际上类似于AR44字符串。所以这行不通。我已经把它解放了,我会研究你的方法。谢谢大家!!您的意思是说您的businessId为:varchar int+字符的模式。是的,这就是模式。我在这个问题上的方法确实有效,我在比赛结束后在错误的地方输出结果,因此没有注意到它确实有效:愚蠢的我。