【问题标题】:INSERT Data from textbox in WPF to SQL table with a button click通过单击按钮将 WPF 中的文本框中的数据插入 SQL 表
【发布时间】:2014-08-09 05:01:32
【问题描述】:

我有一个带有多个窗口的 WPF 应用程序。我的一个窗口包含一个名为 startText 的文本框。我还有一个名为 SubmitButton 的按钮。我通过向导创建了一个 SQL 数据库,它通过 app.config 连接了我的应用程序。我想将输入到文本框中的文本转换为变量,并将其插入到我的数据库表之一的新行中。数据库只有一个名为 Story 的列,数据库名称也是 Story ([Story].[dbo].[Story])。我是 c# 的新手,不确定 INSERT 语句在哪里。 这是我的 App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="StoryTest.Properties.Settings.StoryConnectionString"
            connectionString="Data Source=STORY\STORY;Initial Catalog=Story;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

这是我的 WPF 应用程序配置:

 public partial class StartAStory : Window
    {



private  object Story;public StartAStory()

        {

            InitializeComponent();
            SubmitButton.Click += SubmitButton_Click;
            startText.Copy();

        }

        void SubmitButton_Click(object sender, RoutedEventArgs e)
        {
            //throw new NotImplementedException();
            SqlConnection Conn = new SqlConnection();
            Conn.Open();

        }
        private void SetToClipBoard(object text)
        {
            Clipboard.SetDataObject(text);
        }
        private void PasteData()
        {
            IDataObject ClipData = Clipboard.GetDataObject();

            if (ClipData.GetDataPresent(DataFormats.Text))
            {
                string s = Clipboard.GetData(DataFormats.Text).ToString();

            }
        }

    }
}

我知道我在这里遗漏了一些东西,任何帮助将不胜感激。

【问题讨论】:

    标签: c# sql sql-server wpf


    【解决方案1】:

    对于“C# 新手”开发人员来说,这里有很多事情需要解决。

    所以在我看来,您在使用代码后,即与窗口一起放置的 .cs 文件。在这里,您可以为按钮创建一个事件处理程序,以将所有这些保存到数据库,但您首先需要从文本框中获取值。

    在您的 xaml 中,确保您的文本框有一个名称。我假设它被称为 myTextbox。

    在您的代码中,您应该能够使用 this.myTextbox 访问文本框控件。要获取您的输入值,this.myTextbox.Text。

    使用文本值,您现在需要将其插入到数据库中。

    首选方法是为您的数据库创建一个实体框架模型,它为您提供了一个完整的对象模型。相反,您似乎想使用 SQL 直接与您的数据库对话。在这种情况下,使用参数查找 SqlCommand,以保护自己免受 SQL 注入。 example here.

    一旦您接受了这一点,请务必查看 Entity Framework,并通过实现 Viewmodel 来构建您的 WPF,因为我们倾向于避免代码隐藏,除非它纯粹是为了视觉。

    希望对您有所帮助。

    【讨论】:

    • 忘了说,在 xaml 设计器中添加事件处理程序更容易,选择您的控件并且属性面板的右上角有一个闪电图标。单击该按钮可查看按钮支持的事件列表,双击要在后面的代码中创建处理程序的事件。
    猜你喜欢
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多