C#更新SQLServer中的TimeStamp字段(时间戳) 防止同时修改一行时覆盖更新
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("更新成功!");
}
}
}
C#更新SQLServer中的TimeStamp字段(时间戳) 防止同时修改一行时覆盖更新的更多相关文章
- sqlserver中怎么查询字段为空的记录
sqlserver中怎么查询字段为空的记录的两种方法: 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https://cnblogs.com/qzf/
- mysql和SqlServer 中取得汉字字段的各汉字首字母
mysql 中取得汉字字段的各汉字首字母 这个转载于http://blog.csdn.net/lky5387/article/details/11973721 DELIMITER ;;CREATE ...
- SQLSERVER中的timestamp 和 C#中的byte[] 转换
项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识.由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在 ...
- 修改计算机名并更新sqlserver中存储的服务器名称
1. 查看计算机名use master go select @@servername select serverproperty('servername') 2.同步更新SQLse ...
- knockout更新列表中的某条数据,knockout.js绑定数组时更新其中一条数据
knockout是一款前端实现MVVM的JS框架,仅knockout.js一个47kb的文件,相当实用,做前端无刷新页面,快速实现JS与HTML数据交互. knockout目前最新版:knockout ...
- oracle中的timestamp字段的值乱码问题修改
我的解决方案: 直接新增一个系统变量: key值为:NLS_TIMESTAMP_FORMATvalue的值为:YYYY-MM-DD HH24:MI:SSFF6 其它解决方案: 在登录PLSQL之后,查 ...
- SQLSERVER中计算某个字段中用分隔符分割的字符的个数
比如字段sid中用'|'分割的一些字符 a|b|c|d,需要通过sql查询出字符的个数是4. 可以使用如下脚本: SELECT LEN(sid)-LEN(REPLACE(sid,'|',''))+ ...
- Phoenix中的timestamp字段查询以及timestamp的比较查询
1 查询语法 SELECT TO_CHAR(createtime, 'yyyy-MM-dd HH:mm:ss') FROM USER 2 需要比较timestamp的语法查询 select * fro ...
- mysql更新表中日期字段时间
DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDA ...
随机推荐
- ZOJ 3711 Give Me Your Hand
Give Me Your Hand Time Limit: 2 Seconds Memory Limit: 131072 KB Special Judge BellyWhite a ...
- 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 ...
- 素数的线性筛 && 欧拉函数
O(n) 筛选素数 #include<bits/stdc++.h> using namespace std; const int M = 1e6 + 10 ; int mindiv[M] ...
- 【C语言入门教程】7.5 枚举
在实际应用中,有的变量只有几种可能取值.如人的性别只有两种可能取值,星期只有七种可能取值.在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型.所谓枚举是指将变量的值一一列举出来,变量只限于列举出 ...
- ubutu之qq安装
1.压缩包下载链接 http://pan.baidu.com/s/1nvlgsGh 2.安装教程(引用自百度经验) 如何在Ubuntu中安装QQ
- iOS开发——UI基础-提示框
提示框的种类有很多,废话不多说,直接上代码 一.文本提示框 运行结果如下: 代码实现如下: @interface ViewController () // 添加方法 - (IBAction)add; ...
- 关于JavaScript的浅拷贝和深拷贝
在 JS 中有一些基本类型像是Number.String.Boolean,而对象就是像这样的东西{ name: 'Larry', skill: 'Node.js' },对象跟基本类型最大的不同就在于他 ...
- [POJ2892]Tunnel Warfare
[POJ2892]Tunnel Warfare 试题描述 During the War of Resistance Against Japan, tunnel warfare was carried ...
- C#面向对象思想计算两点之间距离
题目为计算两点之间距离. 面向过程的思维方式,两点的横坐标之差,纵坐标之差,平方求和,再开跟,得到两点之间距离. using System; using System.Collections.Gene ...
- Opencv人头跟踪检测
//-------------------------------------人头检测------------------------------------- int main(){ //V ...