Enterprise Library 2.0系列:添加一条记录,返回主键ID号

(存储过程)

    -- 新建一篇日志,返回主键ID值。
    ALTER PROCEDURE dbo.BlogMainNew 
    (
        
@title nvarchar (100),
        
@content text
    )
    
AS    

        
Insert Into BlogMain (title, content) values (@title@content);
        
Select @@IDENTITY;
        
RETURN

    Database db = DatabaseFactory.CreateDatabase();
    DbCommand cmd 
= db.GetStoredProcCommand("BlogMainNew");
    db.AddInParameter(cmd, 
"@title", DbType.String, this.tbxTitle.Text.Trim());
    db.AddInParameter(cmd, 
"@content", DbType.String, this.tbxContent.Text.Trim());
    
object objID = db.ExecuteScalar(cmd); // ExecuteNonQuery 方法返回的是受影响的行数,不能混用了。
    Response.Write("<br>主键ID是:" + Convert.ToInt32(objID));
    Response.End();


(参数化SQL语句)

    string sName = "黄琴";
    
string sAddress = "IBM ThinkPad 制造";
    
string sCity = "深圳";
    
string sCountry = "中国";
    
string sPostalCode = "518000";

    
// 创建 Database、DbCommand 对象
    Database db = DatabaseFactory.CreateDatabase("CS_QuickStarts");
    
string strSql = "Insert Into Customers (Name, Address, City, Country, PostalCode) values (@Name, @Address, @City, @Country, @PostalCode); Select @@IDENTITY;";
    DbCommand cmd 
= db.GetSqlStringCommand(strSql);

    
// 添加参数
    db.AddInParameter(cmd, "Name", DbType.String, sName);
    db.AddInParameter(cmd, 
"Address", DbType.String, sAddress);
    db.AddInParameter(cmd, 
"City", DbType.String, sCity);
    db.AddInParameter(cmd, 
"Country", DbType.String, sCountry);
    db.AddInParameter(cmd, 
"PostalCode", DbType.String, sPostalCode);

    
// 执行
    int identity = Convert.ToInt32(db.ExecuteScalar(cmd));
    Response.Write(
"添加成功,该主键ID为:" + identity + "");
    Response.End();


(非参数化SQL语句)

    string strUserName = "王彩锦";
    
string strBirthday = "1982-08-21";

    
// 创建 Database 对象
    Database db = DatabaseFactory.CreateDatabase();

    
// 执行非参数的 SQL 语句
    string strSql = "Insert Into Users (UserName, Birthday) values ('"+strUserName+"', '"+strBirthday+"');";
    strSql 
+= "Select @@IDENTITY;";
    
object identity = db.ExecuteScalar(CommandType.Text, strSql);

    
// 显示结果
    Response.Write("新建用户成功,该用户的ID是:" + identity);
    Response.End();

posted @ 2006-09-12 17:46  jeky  阅读(779)  评论(0编辑  收藏  举报
友情链接:逗死了笑话网 | 网络记事本