【问题标题】:How do I store source code lines in SQL Server Database and access it via DataSet如何将源代码行存储在 SQL Server 数据库中并通过 DataSet 访问它
【发布时间】:2011-03-02 16:10:59
【问题描述】:

我想将以下代码存入数据库:

fun(...);

int main()
{
    fun(3, 7, -11.2, 0.66);
    return 0;
}
fun(...)
{
    va_list ptr;
    int num;
    va_start(ptr, n);
    num = va_arg(ptr, int);
    printf("%d", num);
}

然后将其取回数据集中并显示在页面上。

到目前为止,我已经成功地使用varchar(MAX) 数据类型存储了问题,但是当我尝试在数据集中获取它时,我收到以下错误:

Failed To Enable Constraints. One Or More Rows Contain Values Violating Non-null, Unique, Or Foreign-key Constraints.

我在 ASP.NET Web 应用程序中执行此操作。

编辑: 这是我要插入数据的表的表定义

我用来向表中插入数据的查询:

con.ConnectionString = constr;
    cmd.Connection = con;
    cmd.CommandText = "insert into QuesTable values(@D1,@D2,@D3,@D4,@D5,@D6,@D7, NULL)";
    cmd.Parameters.Add("@D1", SqlDbType.Int).Value = txtQID.Text;
    cmd.Parameters.Add("@D2", SqlDbType.VarChar).Value = txtques.Text;
    cmd.Parameters.Add("@D3", SqlDbType.VarChar).Value = txtansa.Text;
    cmd.Parameters.Add("@D4", SqlDbType.VarChar).Value = txtansb.Text;
    cmd.Parameters.Add("@D5", SqlDbType.VarChar).Value = txtansc.Text;
    cmd.Parameters.Add("@D6", SqlDbType.VarChar).Value = txtansd.Text;
    cmd.Parameters.Add("@D7", SqlDbType.VarChar).Value = txtcorr.Text;

    con.Open();
    int i = cmd.ExecuteNonQuery();
    con.Close();

最后是我从数据集中提取数据的代码

DataSet1.QuesTableDataTable dt = new DataSet1.QuesTableDataTable();
    DataSet1TableAdapters.QuesTableTableAdapter adp = new DataSet1TableAdapters.QuesTableTableAdapter();
    dt = adp.GetData();
    DataTable dtUser = dt.Clone();

希望这些信息对您有所帮助。

【问题讨论】:

  • 你能发布你用来插入的SQL语句和你要插入的表的定义吗?
  • Ansa Ansbansc 是什么?为什么没有答案表,这样你就不需要把这些东西分开了?
  • AnsaOption AOption B 等等...
  • 那么如果需求发生变化并且现在有一个选项e 会发生什么?
  • 它是一个小项目,在初始版本中没有选项 e 的范围。将来会扩大规模

标签: c# asp.net dataset


【解决方案1】:

由于我看不到您是否对表有任何其他进一步的限制,因此您插入到主键字段 (Qid) 中的值似乎已经存在于表中。

如果您无论如何都需要为每个条目创建一个新行,那么更改 Qid 列以维护其自己的标识可能会更容易。如果您需要更新现有值,则需要添加一个单独的逻辑来确定主键值是否已经存在并相应地更新或插入。

【讨论】:

    【解决方案2】:

    这是与以下任一相关的错误:

    • 加载数据时传入的非空字段为空。
    • 外键或唯一索引检查无效(例如,FK 值 9 不存在)。

    如果填充数据集,则生成的错误应该可以从数据集中检索。

    HTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      • 2011-08-20
      • 1970-01-01
      相关资源
      最近更新 更多