修改DataTable中某列的数据类型.

DataTable中已经有数据,某列类型是Double,我想修改成String,该如何操作?DataTable中已经有数据,三楼的答案恐怕不行吧... DataTable中已经有数据,某列类型是Double,我想修改成String,该如何操作?
DataTable中已经有数据,三楼的答案恐怕不行吧
展开
 我来答
百度网友96ffcf7
推荐于2017-12-15 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
/// <summary>
/// 修改数据表DataTable某一列的类型和记录值(正确步骤:1.克隆表结构,2.修改列类型,3.修改记录值,4.返回希望的结果)
/// </summary>
/// <param name="argDataTable">数据表DataTable</param>
/// <returns>数据表DataTable</returns>
private DataTable UpdateDataTable(DataTable argDataTable)
{
DataTable dtResult = new DataTable();
//克隆表结构
dtResult = argDataTable.Clone();
foreach (DataColumn col in dtResult.Columns)
{
if (col.ColumnName == "RQ")
{
//修改列类型
col.DataType = typeof(String);
}
}
foreach (DataRow row in argDataTable.Rows)
{
DataRow rowNew = dtResult.NewRow();
rowNew["DTBM"] = row["DTBM"];
//修改记录值
rowNew["RQ"] = Convert.ToDateTime(row["RQ"]).ToString("yyyy-MM-dd").ToString();
rowNew["DWBM"] = row["DWBM"];
rowNew["DWMC"] = row["DWMC"];
rowNew["YYID"] = row["YYID"];
rowNew["YYMC"] = row["YYMC"];
rowNew["YXCL"] = row["YXCL"];
dtResult.Rows.Add(rowNew);
}
return dtResult;
}
訾欢宰书萱
2019-07-08 · TA获得超过3799个赞
知道大有可为答主
回答量:3194
采纳率:34%
帮助的人:217万
展开全部
VB:
Dim
dt
As
New
DataTable
Dim
dc
As
DataColumn
=
dt.Columns(i)
'i就是第几列或者用列名也可以
dc.DataType
=
Type.GetType("System.String")
C#:
DataTable
dt
=
new
DataTable();
DataColumn
dc
=
dt.Columns(i);//i就是第几列或者用列名也可以
dc.DataType
=
Type.GetType("System.String");
你可以试下,double转string应该是可以的,不知道你为什么要这么做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
devil733
2008-09-11 · 超过20用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:0
展开全部
用dt.Column[i].后面应该有相应的属性的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xinerlian
2008-09-10
知道答主
回答量:9
采纳率:0%
帮助的人:7.7万
展开全部
for(int i=0;i<dt.rows.count;i++)
{
dt.rows[i]["某列"]=conver.ToString(dt.rows[i]["某列"])
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zy990613
推荐于2016-06-12 · TA获得超过328个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:314万
展开全部
VB:
Dim dt As New DataTable
Dim dc As DataColumn = dt.Columns(i) 'i就是第几列或者用列名也可以
dc.DataType = Type.GetType("System.String")
C#:
DataTable dt = new DataTable();
DataColumn dc = dt.Columns(i);//i就是第几列或者用列名也可以
dc.DataType = Type.GetType("System.String");

你可以试下,double转string应该是可以的,不知道你为什么要这么做
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式