我定义了一个dropdownlist:
<asp:DropDownList ID="monthdroplist" Runat="server">
   <asp:ListItem Value="1">一月</asp:ListItem>
  `<asp:ListItem Value="2">二月</asp:ListItem>
</asp:DropDownList>
有一张表里面有一个month字段,是文本类型.定义了一个insert语句:
string insertcom="insert into class (month) values (@month);";
然后这样定义:
olecom.Parameters.Add("@month",OleDbType.Char);
olecom.Parameters["@month"].Value=monthdroplist.SelectedItem.Text;这样为什么不能把  '一月' 这个字段insert到数据库里面去啊?它老是说insert语句出错
急待解答啊..!!

解决方案 »

  1.   

    class好象是保留的,改成[class]试试
      

  2.   

    olecom.Parameters["@month"].Value=monthdroplist.SelectedItem.Text;
    修改为:
    olecom.Parameters["@month"].Value=monthdroplist.SelectedValue;
      

  3.   

    monthdroplist.SelectedItem.Text  是“一月”
    monthdroplist.SelectedValue      是“1”看是否是主键重复或者什么的,可能是数据库的问题
      

  4.   

    olecom.Parameters["@month"].Value=monthdroplist.SelectedItem.Value;
      

  5.   

    olecom.Parameters["@month"].Value=monthdroplist.Text;
      

  6.   

    to:xiaopai20(小排——流浪狗) 
    class不改也可以,他的值是从一个textbox里面传过来的.to: fphuang(人在哈尔滨@net) 
    按照你说的做了 可是monthdroplist.SelectedValue      是“1” 而不是 一月啊!to:WeekZero(星期零) ( )
    主键是自动增加的,数据库没有问题啊 试过很多次了to: wuzy1229(wuzy1229) 
    dropdownlist好像没有text这个属性吧?
      

  7.   

    恩 是啊 是文本类型啊 
    我的access数据库里面就是这个类型而且我也试过了几个其他的类型  比如 varchar   varwchar
    好像都步可以
      

  8.   

    string insertcom="insert into class (month) values ('" + monthdroplist.SelectedItem.Text + "');";
    这样试下行吗
      

  9.   

    Text:指的是显示在DropDown中的文本
    Value:指的是DropDown中文本所对应的值
    比如说
    在数据库中有有一一字段性别
    值为W//女,M//男
    你就可以让Text为女或男
    而Value为W或M
    这样你就可以直接把DropDown的Value存到数据库中了
      

  10.   

    to : Ordin(郁闷呀) 
    不行啊 还是一样的错误to: conan1211(柯楠)
    你说的我知道啊 
    而且 我的value和text是数据库里面的两个不同的字段的