DailyReport自动保存工具

PS:自己初学C#,SharePoint时做的一个小tool。

Friday, November 28, 2014

?这个tool编译出来以后可以把部门的daily report保存到本地,数据库,和SharePoint的daily report list中,经过测试能够在我本地的SharePoint2010 SP1环境上正常运行了。

学习C#的第二个小程序,过程中遇到了好多问题,不是很完善,就是意思意思,本次程序练习提取窗体中的信息;向数据库中建表,判断并插入数据;把文件保存到本地指定的路径下;把内容在SharePoint指定list中保存成item并为列赋值。

在此记录一下。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

using Microsoft.SharePoint;

using System.Globalization;

namespace WindowsFormsApplication3

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void SaveToLocalButton_Click(object sender, EventArgs e)

{

SaveToLocal();

}

private void SaveToSQLButton_Click(object sender, EventArgs e)

{

SaveToSQL();

}

private void SaveToWebButton_Click(object sender, EventArgs e)

{

try

{

SaveToWeb();

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

private void SaveToAllButton_Click(object sender, EventArgs e)

{

SaveToLocal();

SaveToSQL();

SaveToWeb();

}

private void SaveToLocal()

{

FolderBrowserDialog fbd = new FolderBrowserDialog();

if (fbd.ShowDialog() == DialogResult.OK)

{

string path = fbd.SelectedPath;

MessageBox.Show("Your daily reort will be saved under the path:" + path);

string filename = "DailyReport.doc";

DailyReportText.SaveFile(@path + "/" + filename, RichTextBoxStreamType.TextTextOleObjs);

}

}

private void SaveToSQL()

{

string connectString = @"Data Source=WIN-VVBGFRT65MV\ALWAYSON2;initial catalog=master;uid=sa;pwd=1qaz2wsxE;integrated security=true;pooling=false";

SqlConnection myConnect = new SqlConnection(connectString);

myConnect.Open();

SqlCommand myCommand = myConnect.CreateCommand();

string dateLine = DailyReportText.Lines[0];

int index = dateLine.IndexOf(":");

int lastIndex = dateLine.Length-1;

string date = dateLine.Substring(index+1, lastIndex-index);

myCommand.CommandText =

"use master if exists(select * from dbo.SysObjects where name=‘DailyReportDB‘) begin insert into DailyReportDB(date,content) values(‘"

+ date + "‘,‘" + DailyReportText.Text.ToString()+

"‘) end else begin  create table DailyReportDB(date varchar(1000) primary key,content varchar(1000)) end";

try

{

SqlDataReader myDataReader = myCommand.ExecuteReader();

myDataReader.Close();

}

catch (SqlException)

{

MessageBox.Show("The report of the date you input has already existed in database!");

}

myConnect.Close();

}

private void SaveToWeb()

{

try

{

using (SPSite qaSite = new SPSite("http://win-vvbgfrt65mv"))

{

using (SPWeb qaWeb = qaSite.OpenWeb("/"))

{

string listURL = "http://win-vvbgfrt65mv/Lists/DailyReport";

SPList DailyReportList = qaWeb.GetList(listURL);

SPListItem item = DailyReportList.Items.Add();

//Get the date and time from the form

string dateLine = DailyReportText.Lines[0];

int index = dateLine.IndexOf(":");

int lastIndex = dateLine.Length-1;

string date = dateLine.Substring(index+1, lastIndex-index);

//Get the created by

SPUser currentUser = qaWeb.CurrentUser;

//Take the value into colume

string DataAndTime = date.ToString();

string Description = DailyReportText.Text.ToString();

try

{

string dateFormat = "yyyy/MM/dd";

DateTime SPdate = DateTime.ParseExact(date, dateFormat, CultureInfo.CurrentCulture, DateTimeStyles.None);

//ToShortDateString is important for format

item["Date and Time"] = SPdate.ToShortDateString();

}

catch (Exception)

{

MessageBox.Show("TimeFormat is not right!");

}

try

{

item["Description"] = Description;

}

catch (Exception)

{

MessageBox.Show("Description is not right!");

}

item["Created By"] = currentUser;

try

{

item.Update();

}

catch (Exception ex)

{

MessageBox.Show("Item update Exception!");

MessageBox.Show(ex.ToString());

}

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

}

}

附上一张SharePoint中生成item的图片:

时间: 2024-11-05 21:35:37

DailyReport自动保存工具的相关文章

Charles——charles 工具栏Tools总结——自动保存工具 auto_save Settings

“自动保存”工具会在你设定的间隔后,自动保存并清除抓取到的内容.假设你设置了3分钟,则每隔三分钟会保存一次, 并且保存后会把charles当前的会话清除掉;(这样可以保证后三分钟保存的不会把之前保存的重复计算在内) 如果您离开Charles监视长时间的网络活动,并希望将记录分解为可管理单元,或者避免由于大量数据可能发生的内存不足情况,这很有用. 输入保存间隔(分钟)和保存会话文件的目录.您可以选择是否在每次运行Charles时启动“自动保存”工具,否则,Charles启动时,“自动保存”工具将始

【工具】Sublime Text 自动保存功能

经常需要所以要频繁用到"ctrl+s"保存还是挺麻烦的,所以有的人需要用到失去焦点自动保存功能,这里简单记录下 1.点击"Preferences"里的设置-用户,有的版本是英文 2.ctrl+f找到"save_on_focus_lost",把后面的"false"改成"true"就好

用汇编语言给XP记事本添加“自动保存”功能 good

[文章标题]: 用汇编语言给XP记事本添加“自动保存”功能 [文章作者]: newjueqi [作者邮箱]:[email protected] [作者QQ]:190678908 [使用工具]: OD, LordPE,eXeScope[操作平台]: XP-SP2[作者声明]: 本人平时一般的文字处理都是用记事本(用Word好像大材小用了),电脑自从拿去大修后有时候会莫名其妙的重启,弄得经常重写(本人常常忘记保存^-^),于是想给记事本增加类似于Word的自动保存功能,以图个方便.失误之处敬请诸位大

Syncovery 是目前功能最为强大的实时自动备份工具

Syncovery Pro(原名叫做Super Flexible Synchronizer) 是目前功能最为强大的实时自动备份工具,连FTP.WebDAV等全部支持! 最近从V6开始改用比较好记.易懂的新名称 SynCovery 了. 功能与Super Flexible Synchronizer仍然完全相同. 备份您的数据和同步个人电脑,Mac电脑,服务器,笔记本电脑和在线存储空间. 您可以设置很多不同的工作,因为你需要运行它们手动或使用排程. Syncovery与本地硬盘,网络驱动器和任何其他

iOS 本地自动打包工具

1.为什么要自动打包工具? 每修改一个问题,测试都让你打包一个上传fir , 你要clean -> 编译打包 -> 上传fir -> 通知测试.而且打包速度好慢,太浪费时间了.如果有一个工具能自动的帮你做完上面所有的事情,岂不是快哉? 2.网上有那么多自动打包工具,我直接下载就行了为啥还要学习? 没错网上有很多打包工具,包括github上也有一些直接从github下载并打包上传的,但是他们的不一定适合你,首先下载下来要配置各种参数,不会配,还有网上大多是针对普通项目,但是我们项目是coc

STM32代码自动生成工具使用说明

1.什么是"代码自动生成工具" 为了降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务.云端会根据产品定义的数据点生成对应产品的设备端代码. 自动生成的代码实现了机智云通信协议的解析与封包.传感器数据与通信数据的转换逻辑,并封装成了简单的API,且提供了多种平台的实例代码.当设备收到云端或APP端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就可以完成产品的开发. 使用自动生成的代码开发产品

批处理脚本结合Maven制作的自动打包工具

这里只是针对我现在的工程结构编写的 @echo off title 自动打包工具[玄玉制作] color 02 set project=%~n0 set curdir=%~dp0 set partition=%curdir:~0,1% cd %curdir:~0,20% REM 此文件需保存为ANSI编码,方可在Windows下执行 REM rem------------表示行注释,相当于Java中的// REM @echo off------表示关闭回显,即不显示本行即下面的命令行(默认DOS

页面自动生成工具设计

页面自动生成工具设计 1功能概述 1.1使用术语 页面自动生成工具:自定义查询条件以及数据显示的一种页面生成工具 1.2功能说明 页面自动生成工具是按照工程人员的需求定义查询条件以及数据显示方式的一种工具,数据显示可以用表格和图表的方式:查询统计以表格的方式显示数据,趋势页面以图表方式显示页面. 1.2.1查询统计页面 查询统计页面的设置如下图: "设置数据集":整个查询统计显示数据的完整sql语句. "查询条件设置":写完sql语句后点击"设置查询条件&

好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是自动备份数据库,一键还原数据库,发送备份数据库日志报告到邮箱,自动压缩备份好的数据库 定期执行数据库备份任务,取代SSMS的维护计划,上传数据库备份文件到FTP服务器.其他网络硬盘等 软件有免费和付费两种模式,不过本人觉得免费版本的功能已经足够了 支持SQLSERVER版本:SQLSERVER200