none
请帮忙解释有关代码 RRS feed

  • 问题

  • 问题 1,有如下代码:

     private void button2_Click(object sender, EventArgs e)
            {
                string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = e:\\db1.mdb";
                OleDbConnection myConn = new OleDbConnection(strCon);
                OleDbCommand mycmd = myConn.CreateCommand();
                mycmd.CommandText = "SELECT TOP 1 st FROM cjb ORDER BY [id] desc";
                myConn.Open();
                byte[] btRTF = (byte[])mycmd.ExecuteScalar();
                        if (btRTF == null)
                        {
                            MessageBox.Show("数据库中目前没有数据,请先存入!");
                        }
                        else
                        {
                            MemoryStream ms = new MemoryStream(btRTF);
                            richTextBox1.LoadFile(ms, RichTextBoxStreamType.RichText);
                        }

                        myConn.Close();

            }

    对这句 mycmd.CommandText = "SELECT TOP 1 st FROM cjb ORDER BY [id] desc"; 如果取消其中的ORDER BY [id] desc,

    则运行程序,提示RichTextBoxStreamType.RichText格式无效,为什么呢?难道非要排序不可?

    问题2:

    代码如下:

     mycmd.CommandText ="INSERT INTO  cjb VALUES (@rtfff)";

     mycmd.Parameters.Add("@rtfff", OleDbType.VarBinary);
     mycmd.Parameters["@rtfff"].Value = ms.ToArray();

    第一句中用了(@rtfff) ,在哪能查到有关这部分知识的资料?请赐教!

     

     

    2010年12月24日 2:01

答案

  • 1.你检查你的数据库中的数据,怀疑没有排序的数据内容有问题导致这个错误。

    2.你查找msdn 关于 OleDbCommand、Parameters 应该能找到相关的文档。

     


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年1月4日 7:25
    2010年12月24日 2:05
  • 你好,

    针对你第一个问题,出错缘由不是“ORDER BY [id] desc”引起的,应该是表的中数据引起的,你可以执行下面的语句查看数据有什么差异。
    SELECT TOP 1 st FROM cjb ORDER BY [id] desc
    GO
    SELECT TOP 1 st FROM cjb 
    GO
    

    针对你第二个问题,可以参阅下面的文档:
    配置参数和参数数据类型


    谢谢,
    邱爱华


    Ai-hua Qiu[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Ai-hua Qiu 2011年1月4日 7:25
    2010年12月28日 2:16

全部回复

  • 1.你检查你的数据库中的数据,怀疑没有排序的数据内容有问题导致这个错误。

    2.你查找msdn 关于 OleDbCommand、Parameters 应该能找到相关的文档。

     


    family as water
    • 已标记为答案 Ai-hua Qiu 2011年1月4日 7:25
    2010年12月24日 2:05
  • 你好,

    针对你第一个问题,出错缘由不是“ORDER BY [id] desc”引起的,应该是表的中数据引起的,你可以执行下面的语句查看数据有什么差异。
    SELECT TOP 1 st FROM cjb ORDER BY [id] desc
    GO
    SELECT TOP 1 st FROM cjb 
    GO
    

    针对你第二个问题,可以参阅下面的文档:
    配置参数和参数数据类型


    谢谢,
    邱爱华


    Ai-hua Qiu[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Ai-hua Qiu 2011年1月4日 7:25
    2010年12月28日 2:16