【发布时间】:2015-09-19 03:26:25
【问题描述】:
我已经构建了一个 DataGridView 并很好地读取了一个 sql 表。但是SqlDataAdapter.Update() 无法将数据更新回 SQL Server,出现错误:
connectionstring 属性尚未初始化
这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace test_2
{
public partial class Form1 : Form
{
SqlDataAdapter sda;
DataSet ds;
BindingSource bind1 = new BindingSource();
SqlCommandBuilder scb;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ConnString))
{
ShowData();
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(sda);
bind1.DataSource = ds;
}
}
private void ShowData()
{
using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ConnString))
{
sda = new SqlDataAdapter("select key_seq, po_no, ref_no from mpo_master", cn);
ds = new DataSet();
sda.Fill(ds, "MPO");
dataGridView1.DataSource = ds.Tables["MPO"];
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.ConnString))
{
scb = new SqlCommandBuilder(sda);
sda.Update(ds, "MPO");
MessageBox.Show("Information Updated", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
这是配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="VGB_Purchase.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<applicationSettings>
<VGB_Purchase.Properties.Settings>
<setting name="connString" serializeAs="String">
<value>Data Source=vgb-angus;Initial Catalog=VGB_Purchase;Persist Security Info=True;User ID=sa;Password=jessie</value>
</setting>
</VGB_Purchase.Properties.Settings>
</applicationSettings>
【问题讨论】:
-
请分享您在配置文件中输入的连接字符串。当然,您可以非常小心地掩盖敏感信息,但我们会想看看您是如何构造字符串的。
-
感谢 Sfugua,添加配置文件
-
我怀疑@rachel-ambler 说得对。
标签: c# sql-server datagridview