大家好,请问如果有一个表test,通过excel(有单元格合并)数据导入后保存了如下的数据,其中ID为"2、3、4、5”的图书名都是作者为”三毛“的人写的,但是ID为"3、4、5”的作者名称都是空的,请问如何判断"AUTHOR"字段是否为空并通过循环为其赋值,谢谢,在线等。ID AUTHOR NAME DATATIME
1 刘若英 下楼 2007-10-11
2 三毛 邂逅撒哈拉 2007-10-12
3 稻草 2007-10-13
4 雨季不再来 2007-10-14
5 温柔的夜 2007-10-15
6 安妮宝贝 二月河 2007-10-16
1 刘若英 下楼 2007-10-11
2 三毛 邂逅撒哈拉 2007-10-12
3 稻草 2007-10-13
4 雨季不再来 2007-10-14
5 温柔的夜 2007-10-15
6 安妮宝贝 二月河 2007-10-16
string AUTHOR,ID;
try
{
conn.Open();
DataTable dt=Connect.BindTable( "select * from test");
if(dt.Rows.Count != 0)
{
for(int i=1;i<dt.Rows.Count;i++)
{
AUTHOR=dt.Rows[i][1].ToString();
ID=dt.Rows[i][0].ToString();
if ( AUTHOR =="" && ID != "")
{ AUTHOR=dt.Rows[i - 1][1].ToString(); string sql="update Test set Author='"+AUTHOR+"' WHERE ID='"+ID+"'";
SqlCommand myCmd=new SqlCommand(sql,conn); myCmd.ExecuteNonQuery(); }
}
conn.Close();
}
catch(Exception exc)
{
conn.Close();
string s = exc.ToString();
return;
}
Select
ID,
(Case When IsNull(AUTHOR, '') = '' Then (Select TOP 1 AUTHOR From Test Where ID < A.ID And IsNull(AUTHOR, '') != '' Order By ID Desc) Else AUTHOR End) As AUTHOR,
NAME,
DATATIME
From
Test A--更新
Update
A
Set
AUTHOR = (Select TOP 1 AUTHOR From Test Where ID < A.ID And IsNull(AUTHOR, '') != '' Order By ID Desc)
From
Test A
Where
IsNull(AUTHOR, '') = ''
1 刘若英 下楼 2007-10-11update test set Author ='三毛' where Author is null