SqlDataAdapter “int”和“datetime”的参数大小

本文关键字:参数 int SqlDataAdapter datetime | 更新日期: 2023-09-27 18:07:02

创建SqlDataAdapter并添加参数时,IntDateTime类型的大小应该是多少?有理由需要size吗?

adapter = new SqlDataAdapter();
adapter.InsertCommand = new SqlCommand(
    "insert into MyTable (id, created, stuff) values (@id, @created, @stuff)",
    connection);
adapter.InsertCommand.Parameters.Add("@id", SqlDbType.Int, ?????, "id");
adapter.InsertCommand.Parameters.Add("@created", SqlDbType.DateTime, ????, "created");
adapter.InsertCommand.Parameters.Add("@stuff", SqlDbType.VarChar, 250, "stuff");

添加以回答有关数据来源的问题:(在帖子的原始部分中,我将"描述"重命名为"东西"(

    public static DataSet dumpETEvents()
    {
        DataSet ret = new DataSet();
        SQLiteDataAdapter adapter = new SQLiteDataAdapter();
        adapter.SelectCommand = new SQLiteCommand(
            "select id, created, description from ETEvents",
            DbDatabase.connection);
        adapter.MissingSchemaAction = MissingSchemaAction.Add;
        adapter.AcceptChangesDuringFill = false;
        adapter.Fill(ret);
        return ret;
    }

SqlDataAdapter “int”和“datetime”的参数大小

Add存在不带大小的重载,因此并不总是必需的。

对于整数和DATETIME字段,由于这些字段具有固定大小,因此不需要这样做。

您还应该看看AddWithValue

AddWithValue取代了采用StringObjectSqlParameterCollection.Add方法。

大小无关紧要!

"对于固定长度的数据类型,Size 的值将被忽略。它可以检索以供参考,并返回提供程序在将参数值传输到服务器时使用的最大字节数。

请参阅本文: http://msdn.microsoft.com/en-us/library/system.data.common.dbparameter.size%28v=vs.100%29.aspx