使用ASP.NET插入数据库会导致错误

时间:2017-03-27 11:09:37

标签: sql asp.net database vb.net

我第一次与VS 2017合作。

我正在尝试将一些值插入数据库。我已经使用数据库建立了连接(使用select语句检查),但现在我陷入了插入部分。

我将SqlDataSource定义为:

<div>
   <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="  <%$ ConnectionStrings:Sphinxx_Conn %>" 
        ProviderName="<%$ ConnectionStrings:Sphinxx_Conn.ProviderName %>"  
        InsertCommand="INSERT INTO &quot;DEMO&quot; (&quot;ID&quot;, &quot;NAME&quot;) VALUES (:ID, :NAME)">
        <InsertParameters>
            <asp:Parameter Name="ID" Type="String" />
            <asp:Parameter Name="NAME" Type="String" />
        </InsertParameters>
   </asp:SqlDataSource>
</div>

现在是以下代码段:

 SqlDataSource1.InsertParameters["ID"].DefaultValue = '1'
 SqlDataSource1.InsertParameters["NAME"].DefaultValue = 'John'

为“SqlDataSource1.InsertParameters”部分加下划线并显示错误:

  

属性访问必须分配给属性或使用其值。

我究竟做错了什么?

2 个答案:

答案 0 :(得分:2)

您传递的是无效数据,因为您使用的是单引号,而是使用双引号:

 SqlDataSource1.InsertParameters["ID"].DefaultValue = "1";
 SqlDataSource1.InsertParameters["NAME"].DefaultValue = "John";

在旁注中,如果您开始使用Visual Studio开始工作并了解Web开发,我建议您查看MVC。 Web表单是不再受支持的旧技术。

答案 1 :(得分:0)

您的代码段中有2个分配值的错误。

  1. 您正在设置char值而不是string,请用双引号替换单引号'值。而不是'1'执行此操作"1"与约翰一起。
  2. 您尚未使用;来终止语句,因此请在语句的末尾添加分号。