Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >我是否可以使用此方法从数据库中获取值,但不会生成额外的文本?

我是否可以使用此方法从数据库中获取值,但不会生成额外的文本?
EN

Stack Overflow用户
提问于 2012-06-14 19:58:32
回答 2查看 111关注 0票数 2

我对编程非常陌生,似乎找不到解决这个问题的方法。也许还有一种更好的方法。

我正在尝试从我的数据库中的一行中获取2个值。我已经使用EF连接到它。

我的代码是:

代码语言:javascript
代码运行次数:0
复制
using (var myEntities = new dataEntities())
{
  var myValues = (from values in myEntities.PointValues
                  where values.PointID == dataValue && values.DataTime >= fromDate && values.DataTime <= toDate
                  select new
                  { values.DataTime,
                    values.DataValue
                  }).ToList();

然后用下面的代码将它们写到一个文件中:

代码语言:javascript
代码运行次数:0
复制
using (StreamWriter sw = new StreamWriter(@"c:\Test.csv"))
        {
          for (var i = 0; i < myValues.Count; i++)
          {
            sw.WriteLine(myValues[i]);
          }
        }

问题是生成的CSV文件是这样的:{ DataTime = 1/20/2010 2:15:00 AM,DataValue = 11.72 }

如何去掉{ DataTime =,DataValue和结束符}?(DataTime和DataValue是数据库中的字段标签)。

非常感谢您的帮助。

致以亲切的问候,

朱利安

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-14 20:02:38

你只需要改变你写出信息的方式:

代码语言:javascript
代码运行次数:0
复制
using (var sw = new StreamWriter(@"c:\Test.csv"))
{
    foreach(var value in myValues)
    {
        sw.WriteLine(string.Format("{0}, {1}", value.DataTime, value.DataValue));
    }
}

现在,您将直接写出匿名类,而不是创建按需格式化的输出。

或者,您可以直接在查询中构建字符串,并使用以下命令轻松编写结果:

代码语言:javascript
代码运行次数:0
复制
 var myValues = (from values in myEntities.PointValues
              where values.PointID == dataValue && values.DataTime >= fromDate && values.DataTime <= toDate
              select new 
              { values.DataTime, 
                values.DataValue 
              })
             .AsEnumerable()
             .Select(v => string.Format("{0}, {1}", v.DataTime, v.DataValue));
 File.WriteAllLines(@"c:\Test.csv", myValues);

这将只构建一个IEnumerable<string>,而不是构建匿名类。

如果您只将查询结果用于写入文件之外的任何事情,那么我将使用这种方法。如果您在中间的其他代码中使用匿名类,第一个将使您不需要更改该代码。

票数 1
EN

Stack Overflow用户

发布于 2012-06-14 20:04:30

在末尾添加另一个select。

代码语言:javascript
代码运行次数:0
复制
var myValues = (from values in myEntities.PointValues 
               where values.PointID == dataValue 
                     && values.DataTime >= fromDate 
                     && values.DataTime <= toDate 
               select new 
               { values.DataTime, 
                 values.DataValue 
               })
               .ToList()
               .Select(x => string.Format("{0}, {1}", x.DateTime, x.DataValue);

另外,如果你不需要StreamWriter的花哨功能,你也可以使用File.WriteAllLines()

代码语言:javascript
代码运行次数:0
复制
File.WriteAllLines(@"c:\Test.csv", myValues);

(根据Reed的帖子更新)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11040468

复制
相关文章
SQLServer 2005Windows验证如何改为混合模式验证
默认情况下,SQL Server 2005 Express是采用集成的Windows安全验证且禁用了sa登录名,而很多用户使用数据库的时候需要用到sql身份验证,如下可开启sql验证
授客
2019/09/12
1.3K0
SQLServer 2005Windows验证如何改为混合模式验证
Linux下将Oracle11g由非归档模式(Noarchivelog)更改为自动归档模式(archivelog)
在Linux环境下将Oracle11g数据库模式由非归档模式(Noarchivelog)修改为自动归档模式(archivelog)。
星哥玩云
2022/08/17
1K0
Linux下将Oracle11g由非归档模式(Noarchivelog)更改为自动归档模式(archivelog)
博通第一板斧:将 VMware 从永久许可证改为订阅模式
2022年5月26日,博通表示,斥资610亿美元收购VMware后,VMware“将从永久许可证迅速改为订阅模式”。 这是博通软件集团总裁Tom Krause在周四的博通财报电话会议上表示的。 在交易达成后的三年内,VMware将为博通增加约85亿美元的预计息税折旧摊销前利润(EBITDA)——鉴于VMware目前的EBITDA约47亿美元,这个增长幅度相当大。 当时有人问他这家半导体巨头计划如何实现这个预期目标:而订阅就是解决之道。 Krause还多次表示,博通打算致力于深耕VMware的关键产品组合,
云头条
2022/05/27
1.3K0
博通第一板斧:将 VMware 从永久许可证改为订阅模式
设计模式实战-状态模式,让代码更清爽简洁
状态模式(Allow an object to alter its behavior when its internal state changes.The object will appear to
架构师修炼
2020/07/20
1.2K0
设计模式实战-状态模式,让代码更清爽简洁
vue路由history模式下刷新页面404
vue的路由是由js来控制的,但是,当你刷新浏览器的时候,是向服务器发送请求的一个过程,当访问不到的时候必然会返回404。
神葳
2021/01/22
1.2K0
如何将Angular localhost:4200 改为IP
ust specify the IP in --host option like ng serve --host 192.16.1.1
用户6421725
2020/01/16
9300
为WordPress 后台编辑器文本模式(HTML模式)添加按钮
今天为各位带来在WordPress 后台编辑器文本模式(HTML模式)添加自定义按钮的方法,这个的话如果使用S-shortcodes 短代码插件的可能有接触,因为在最新版已经集成了。文本模式(HTML模式)添加按钮是为了更加方便地进行写作,特别是像Jeff 这种习惯在文本模式(HTML模式)下写文章的博主。之前分享过的一篇文章《WordPress自带TinyMCE编辑器相关功能增强》也大致有介绍,今天在这里则更加细致说明方法并给出多个实例。 为WordPress 后台编辑器文本模式(HTML模式)添加按钮教
Jeff
2018/01/19
2.4K0
为WordPress 后台编辑器文本模式(HTML模式)添加按钮
韩信拜将:委派模式
今天我给大家分享设计模式中的委派模式。用贴切的生活故事,以及真实项目场景来讲设计模式,最后用一句话来总结这个设计模式。
田维常
2021/06/09
3810
韩信拜将:委派模式
如何将MySQL GR 设置为多主模式
在MySQL 5.7.17版本中发布的MySQL Group Replication(后文简称为MGR)被很多人称为MySQL复制方案的正规军,可以一举取代现在的MySQL Replication,Semisynchronous replication,甚至是可以取代之前最成功的MySQL集群方案Galera。 MGR有两种模式,一种是Single-Primary,一种是Multi-Primary,单主或者多主。 在前一种模式Single-Primary中,无论集群中有多少个节点,只有一个节点允许写入,其它
数据和云
2018/03/07
3.9K0
如何将MySQL GR 设置为多主模式
(四) 如何将socket设置为非阻塞模式
1. windows平台上无论利用socket()函数还是WSASocket()函数创建的socket都是阻塞模式的: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET WSASocket( _In_ int af, _In_ int type, _In_ int
范蠡
2018/04/04
4.6K0
如何将wordpress所有文章批量改为已发布状态
  用wordpress建站的一个好处就是bd站长工具平台上有数据结构插件,可以认为bd默认支持wp发展,另外一种建站程序是discuz。我们在用wordpress发布文章时,特别是那种多用户投稿的文章一般都会设置发布状态为“等待审核”,如果你对他们之前的文章比较认可的话可以直接通过。一篇篇在后台通过审核会累趴的,那么如何将wordpress所有文章批量改为已发布状态呢?一个简单的sql语句就能搞定。 UPDATE `wp_posts` SET `post_status` ='publish' WHERE
ytkah
2018/03/06
2.3K0
PHP安全模式详解(PHP5.4安全模式将消失)
这个是之前的笔记,随笔贴上而已。PHP安全模式在5.4的时候已经不再支持了。查看官网:
黄规速
2022/04/14
1.8K0
PHP安全模式详解(PHP5.4安全模式将消失)
PHP实现弹出提示框并跳转到新页面
每次都复制一大段代码还是比较麻烦的,我们可以考虑封装成函数来调用,下面是我自己封装的页面跳转函数
PM吃瓜
2019/08/12
4.6K0
ChatGPT 编写模式:如何高效地将思维框架赋予 AI ?
prompt 通常指的是一个输入的文本段落或短语,作为生成模型输出的起点或引导。prompt 可以是一个问题、一段文字描述、一段对话或任何形式的文本输入,模型会基于 prompt 所提供的上下文和语义信息,生成相应的输出文本。
编程思维
2023/03/23
1.3K1
ChatGPT 编写模式:如何高效地将思维框架赋予 AI ?
新旧模式碰撞,互联网家装如何才能更走心?
文|孟永辉 在经历了“互联网+”时代的洗礼之后,互联网家装已经开始越来越多地进入到人们的视野之中。而以土巴兔、齐家网为代表的互联网家装巨头的持续获得资本则让更多人的人看到了互联网家装市场巨大的潜力,于是越来越多的互联网家装公司开始进入到市场之中,一场由互联网家装引发的城市和用户争夺战役由此开启。 云端设计中心、F2C供应链模式、全程24小时监控等诸多与互联网有着紧密联系的技术被应用到互联网家装市场之中。在很多人的概念中,互联网家装就应该有互联网的因素,就应当发挥互联网技术在整合资源等方面的巨大优势。然而,
孟永辉
2018/05/11
6532
openwrt将LAN口改为WAN方法
牢骚 折腾了好几个好几个小时,终于搞好了。原因就是因为固件里面的端口序号和实际路由器后面的序号不一致,导致我的设置和物理连接对不上,这是个巨坑。 折腾需求 PS:我家里面有两条宽带,一条中国联通50M,一条中国移动50M。 折腾多WAN口(就是把LAN口改为WAN口)的主要目的是我想是默认上网走联通,部分IP(什么IP你懂的)通过静态路由走移动出去,因为移动的国际出口在中国香港,出国速度相对来说好一些。 折腾方法 1.依次点开-网络-交换机 2.首先要启用VLan,可
行 者
2018/03/26
16.6K0
openwrt将LAN口改为WAN方法
python 将网卡改为嗅探功能
def pktPrint(pkt): if pkt.haslayer(Dot11Beacon): print '[+] Detected 802.11 Beacon Frame' elif pkt.haslayer(Dot11ProbeReq): print '[+] Detected 802.11 Probe Request Frame' elif pkt.haslayer(TCP): print '[+] Detected a TCP Packet' elif pkt.haslayer(DNS): print '[+] Detected a DNS Packet'
用户5760343
2019/07/31
1.2K0
python 将网卡改为嗅探功能
Fiddler成长之路 - 如何将https修改为http协议
方法二: Fiddler里的Rules—>Customize Rules, 在static functionOnBeforeRequest(oSession: Session)方法下面添加代码, 如下: if(oSession.uriContains("xxx.xxx.xxx")) //括号内需要填写具体的请求 { oSession.fullUrl="http://" +oSession.hostname+oSession.PathAndQuery; } 如下图所示:
用户5521279
2019/06/02
4.6K0
如何将WordPress固定链接格式修改为.html结尾
之前一直采用 自定义结构 http://www.xiaohulizyw.cn/%category%/%postname%/  的URL结构形式,为了优化URL结构,特意将其修改为 http://www.xiaohulizyw.cn/%category%/%postname%.html,即以.html结尾,具体见上图。
小狐狸说事
2022/11/17
1.2K0
如何将WordPress固定链接格式修改为.html结尾
nestjs将底层由express改为fastify
nestjs默认使用的http框架为express,代码如下:// 输入代码内容import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000);}bootstrap();在这里将express替换为fa
挥刀北上
2023/05/24
7870
nestjs将底层由express改为fastify

相似问题

如何在单击按钮时将纵向模式更改为横向模式?

10

单击按钮将垂直屏幕模式更改为水平屏幕模式

10

如何通过单击按钮将android更改为静默模式?

11

如何将jQuery模式更改为React模式?

124

将网格模式更改为列表模式

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文