分类: C#2012-10-24 15:10 1878人阅读 评论(0) 收藏 举报

public partial class Form1 : Form
    {
        private SqlConnection mCnn = null;
        private long TimeStampValue;

public Form1()
        {
            InitializeComponent();
            mCnn = new SqlConnection();
            mCnn.ConnectionString = "Data Source=192.168.18.205;Database=" +
                            "Test;Uid=sa;Pwd=kicpassword";
            mCnn.Open();
        }

        //读取

private void btnReadTimeStamp_Click(object sender, EventArgs e)
        {
            //使用convert(bigint,FTimeStamp) MyTimeStamp把FTimeStamp转换为bigint整数类型
            string strSQL = "Select Top 1 FCaption,convert(bigint,FTimeStamp) MyTimeStamp,FTimeStamp From t_TimeStamp";
            SqlCommand Cmd = new SqlCommand(strSQL, mCnn);
            SqlDataReader Reader = Cmd.ExecuteReader();
            while (Reader.Read())
            {
                long value = (long)Reader["MyTimeStamp"];
                TimeStampValue = value;    //在此处把TimeStamp的值赋值给变量,用于更新时判断
                txtTimeStamp.Text = value.ToString();
                txtTimeStampHex.Text=value.ToString("X16");
            }
            Reader.Close();
            Reader = null;
        }

//更新

private void btnUpdateTimeStamp_Click(object sender, EventArgs e)
        {
            //Where条件加上TimeStamp的判断,必须和读取的一致,用于并发操作
            string strSQL = "Update t_TimeStamp Set FCaption = '修改记录'" +
                                " Where FTimeStamp =" + TimeStampValue.ToString();
            SqlCommand cmd = new SqlCommand(strSQL, mCnn);
            int UpdateCount = cmd.ExecuteNonQuery();
            if (UpdateCount <= 0)
            {
                MessageBox.Show("更新失败!");
            }
            else
            {
                MessageBox.Show("更新成功!");                                    
            }
        }
    }

转自:http://blog.csdn.net/limlimlim/article/details/8107228

C#更新SQLServer中的TimeStamp字段(时间戳) 防止同时修改一行时覆盖更新的更多相关文章

  1. sqlserver中怎么查询字段为空的记录

    sqlserver中怎么查询字段为空的记录的两种方法: 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https://cnblogs.com/qzf/

  2. mysql和SqlServer 中取得汉字字段的各汉字首字母

    mysql 中取得汉字字段的各汉字首字母 这个转载于http://blog.csdn.net/lky5387/article/details/11973721 DELIMITER ;;CREATE  ...

  3. SQLSERVER中的timestamp 和 C#中的byte[] 转换

    项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识.由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在 ...

  4. 修改计算机名并更新sqlserver中存储的服务器名称

    1.  查看计算机名use master    go     select @@servername   select serverproperty('servername') 2.同步更新SQLse ...

  5. knockout更新列表中的某条数据,knockout.js绑定数组时更新其中一条数据

    knockout是一款前端实现MVVM的JS框架,仅knockout.js一个47kb的文件,相当实用,做前端无刷新页面,快速实现JS与HTML数据交互. knockout目前最新版:knockout ...

  6. oracle中的timestamp字段的值乱码问题修改

    我的解决方案: 直接新增一个系统变量: key值为:NLS_TIMESTAMP_FORMATvalue的值为:YYYY-MM-DD HH24:MI:SSFF6 其它解决方案: 在登录PLSQL之后,查 ...

  7. SQLSERVER中计算某个字段中用分隔符分割的字符的个数

    比如字段sid中用'|'分割的一些字符   a|b|c|d,需要通过sql查询出字符的个数是4. 可以使用如下脚本: SELECT LEN(sid)-LEN(REPLACE(sid,'|',''))+ ...

  8. Phoenix中的timestamp字段查询以及timestamp的比较查询

    1 查询语法 SELECT TO_CHAR(createtime, 'yyyy-MM-dd HH:mm:ss') FROM USER 2 需要比较timestamp的语法查询 select * fro ...

  9. mysql更新表中日期字段时间

    DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDA ...

随机推荐

  1. ZOJ 3711 Give Me Your Hand

    Give Me Your Hand Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge BellyWhite a ...

  2. Codeforces #270 D. Design Tutorial: Inverse the Problem

    http://codeforces.com/contest/472/problem/D D. Design Tutorial: Inverse the Problem time limit per t ...

  3. 素数的线性筛 && 欧拉函数

    O(n) 筛选素数 #include<bits/stdc++.h> using namespace std; const int M = 1e6 + 10 ; int mindiv[M] ...

  4. 【C语言入门教程】7.5 枚举

    在实际应用中,有的变量只有几种可能取值.如人的性别只有两种可能取值,星期只有七种可能取值.在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型.所谓枚举是指将变量的值一一列举出来,变量只限于列举出 ...

  5. ubutu之qq安装

    1.压缩包下载链接 http://pan.baidu.com/s/1nvlgsGh 2.安装教程(引用自百度经验) 如何在Ubuntu中安装QQ

  6. iOS开发——UI基础-提示框

    提示框的种类有很多,废话不多说,直接上代码 一.文本提示框 运行结果如下: 代码实现如下: @interface ViewController () // 添加方法 - (IBAction)add; ...

  7. 关于JavaScript的浅拷贝和深拷贝

    在 JS 中有一些基本类型像是Number.String.Boolean,而对象就是像这样的东西{ name: 'Larry', skill: 'Node.js' },对象跟基本类型最大的不同就在于他 ...

  8. [POJ2892]Tunnel Warfare

    [POJ2892]Tunnel Warfare 试题描述 During the War of Resistance Against Japan, tunnel warfare was carried ...

  9. C#面向对象思想计算两点之间距离

    题目为计算两点之间距离. 面向过程的思维方式,两点的横坐标之差,纵坐标之差,平方求和,再开跟,得到两点之间距离. using System; using System.Collections.Gene ...

  10. Opencv人头跟踪检测

    //-------------------------------------人头检测------------------------------------- int main(){     //V ...