【问题标题】:Execute query using C# [closed]使用 C# 执行查询 [关闭]
【发布时间】:2014-06-02 16:57:58
【问题描述】:

我正在尝试执行一些直接连接到我的数据库的 SQL 代码,但我不知道如何执行查询。

SqlConnection connect = new SqlConnection("DATABASE");
SqlConnection myConnection = connect;
connect.Open();
SqlDataAdapter adptador = new SqlDataAdapter(@"QUERY", connect);
DataTable tabela = new DataTable();
adptador.Fill(TABLE);
clientContext.Web.Lists.GetByTitle("TITLE");
clientContext.ExecuteQuery();
List list = clientContext.Web.Lists.GetByTitle("LISTNAME");
clientContext.Load(list);
ListItemCreationInformation listItemCreationInformation = new ListItemCreationInformation();
ListItem item = list.AddItem(listItemCreationInformation);

foreach (DataRow row in tabela.Rows)
{
    item["LastModifiedBy"] = row["LastModifiedBy"].ToString();
    item.Update();
    cm = new SqlCommand("SQL COMMAND");
    **EXECUTE CM**
    clientContext.ExecuteQuery();
}

【问题讨论】:

  • 您没有阅读文档吗?
  • 您确实意识到ExecuteQuery 不是为了获得结果。 ExecuteReader 是为了得到结果...
  • ExecuteQuery 用于连接到 SharePoint!我想在变量 cm 中执行 sqlcommand !

标签: c# sql sql-server sharepoint-2013


【解决方案1】:

根据您的查询是什么以及您想要什么,您可以使用SqlCommand Execute* 方法之一:ExecuteNonQueryExecuteReader 等。

【讨论】:

  • 这更像是一个要求澄清的评论,而不是一个答案。
  • 我想更新我的数据库!
  • 首先,请阅读文档并搜索教程。如果您需要帮助或您的代码未按预期工作,请尝试一下,并带着具体问题回到 SO。你可以通过谷歌搜索找到很多这方面的例子。如果您只需要执行更新过程,您可以使用ExecuteNonQuery()
【解决方案2】:

SqlCommand 具有 ExecuteReader,用于执行命令并返回数据集,ExecuteScalar 用于返回原始类型(int、string 等)的单个值,或 executeNonQuery 用于不返回任何内容。您还可以将命令传递给 SqlDataAdapter,并使用它来填充 DataTable 对象。

请 google SqlCommand,你会发现很多例子。

【讨论】:

  • 我要执行的命令是一个sqlcommand,这个命令的结果将只在数据库中可见!
  • 好的,我说的仍然适用。 “在数据库上可见”意味着它将一些记录(或做其他事情)写入数据库,并且什么都不返回?如果为真,则调用 ExecuteNonQuery(),它执行该过程并且不从调用者返回任何结果。
【解决方案3】:

SqlDataReader 阅读器 = cm.ExecuteReader()

【讨论】:

  • 缺少 using 语句,或者您可以使用 finally dispose。
猜你喜欢
  • 2016-07-15
  • 2014-08-09
  • 1970-01-01
  • 2018-05-31
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
相关资源
最近更新 更多