我用查询语句加参数更新,sql语句如下:
OleDbCommand cmd=new OleDbCommand(str,data1.conn());
str="insert into CarQingKuang(ShiGu) values(@ShiGu1)";
cmd.Parameters.Add(new OleDbParameter("@ShiGu1",OleDbType.Variant));
cmd.Parameters["@ShiGu1"].Value=textBox15.Text;
cmd.ExecuteNonQuery();
其他可以正常添加的字段在Access中都是文本型,只有ShiGu字段是备注型,而且我往里添加的是数字,查看数据库却显示为乱码,运行程序代码时死机。
请高手帮忙,急!!

解决方案 »

  1.   

    某些情况下,需要创建可以使用多次,但每次使用不同值的查询。例如,可能经常运行一个查询以查找某位作者编写的所有 title_ids。可以为每次请求运行相同的查询,只是每次使用的作者 ID 或姓名不同。若要创建每次使用不同值的查询,可以在查询中使用参数。参数是在运行查询时所提供值的占位符。带参数的 SQL 语句可能如下所示,其中“?”表示代表作者 ID 的参数:SELECT title_id
    FROM titleauthor
    WHERE (au_id = ?)
    可使用参数的位置
    可以将参数用作文本值(文本值或数值)的占位符。最常见的是,参数经常在单个行或组的搜索条件中(即在 SQL 语句的 WHERE 或 HAVING 子句中)用作占位符。某些数据库允许在表达式中将参数用作占位符。例如,可能想在每次运行查询时,通过提供不同的折扣值计算打折价格。为此,可以指定下列表达式:(price * ?)
    有关可以使用参数的位置的详细信息,请参见所使用数据库的文档。指定未命名参数和命名参数
    可以指定两种参数:未命名参数和命名参数。未命名参数是可放在查询中任何位置的问号 (?),用于提示输入值或以文本值替代。例如,如果在 titleauthor 表中使用未命名的参数搜索某个作者的 ID,“SQL”窗格中得到的语句可能像下面这样:SELECT title_id
    FROM titleauthor
    WHERE (au_id = ?)
      

  2.   

    这不就是带参数的sql查询语句麽?不明白.....