繁体   English   中英

System.FormatException:@name:as - 输入字符串的格式不正确

[英]System.FormatException: @name : as - Input string was not in a correct format

我正在使用C#VS 2010开发一个应用程序。

我正在使用CE数据库。 我从数据库中搜索字符串的代码是

string con = @"Data Source=|DataDirectory|\Database\Acadamy.sdf;Persist Security Info=False";
string cmd = "SELECT  sid AS [Student ID], sname AS [Student Name], contact AS [Contact No] FROM Student WHERE sname LIKE '%'+ @name +'%'";
var dt = new DataTable();
using (var a = new SqlCeDataAdapter())
{
 try
  {
   a.SelectCommand = new SqlCeCommand();
   a.SelectCommand.Connection = new SqlCeConnection(con);
   a.SelectCommand.CommandType = CommandType.Text;
   a.SelectCommand.CommandText = cmd;
   a.SelectCommand.Parameters.AddWithValue("@name", textBox1.Text);
   a.Fill(dt);
   dataGridView1.DataSource = dt;
  }
  catch (Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
}

当我输入像任何字符串as我收到错误System.FormatException: @name : as - Input string was not in a correct format.

什么是错误无法修复。

从sql命令文本中删除引用。
参数对于帮助避免混淆也是非常宝贵的。

将通配符字符添加到参数值....

string cmd = "SELECT  sid AS [Student ID], sname AS [Student Name], " + 
            "contact AS [Contact No] FROM Student WHERE sname LIKE @name";
....
a.SelectCommand.Parameters.AddWithValue("@name", "%" + textBox1.Text + "%") ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM