Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将值作为.txt文件存储在sql db中_C#_Asp.net_Sql_Wsdl - Fatal编程技术网

C# 将值作为.txt文件存储在sql db中

C# 将值作为.txt文件存储在sql db中,c#,asp.net,sql,wsdl,C#,Asp.net,Sql,Wsdl,我正在使用web服务开发一个简单的域应用程序。我使用whois wsdl获取域信息。这很好,但我正在获取整个数据。问题是我只需要从该服务器选择的数据,如域名、创建日期、过期日期 在我的设计中,当在textbox1中输入任何域名时,我制作了两个文本框。如果whois服务器中存在域名,则必须在textbox2中显示选择性信息 我试图将这些值存储在一个文本文件中,并将其名称保存在db中,但这对我不起作用。有什么想法吗,朋友 这是我的代码 using System; using System.Colle

我正在使用web服务开发一个简单的域应用程序。我使用whois wsdl获取域信息。这很好,但我正在获取整个数据。问题是我只需要从该服务器选择的数据,如域名、创建日期、过期日期

在我的设计中,当在textbox1中输入任何域名时,我制作了两个文本框。如果whois服务器中存在域名,则必须在textbox2中显示选择性信息

我试图将这些值存储在一个文本文件中,并将其名称保存在db中,但这对我不起作用。有什么想法吗,朋友

这是我的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

 public partial class do01 : System.Web.UI.Page
 {
   protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
    string st = TextBox1.Text;
    wservices.whois myservices = new wservices.whois();
    TextBox2.Text = myservices.GetWhoIS(st);
}
}
这是我的截图


如果你有任何想法,就在这里拍摄吧,朋友们……)

注意:有关答案的更改,请参见下面的更新

我假设您想要的是在一个列中以纯文本的形式包含此信息的表

基本表定义

 CREATE TABLE WhoIsData
 (
     Id INT PRIMARY KEY IDENTITY(1,1),
     WhoIsData NVARCHAR(MAX)
 )
我不知道什么是
st
(这是您发送给服务的数据,如果您也想存储这些数据,它可能会在您的表中有用)

C代码(粗略地说,我还没有测试过)

我将把SQL调用从现实生活中的用户界面类中分离出来。但是为了这个例子,我把它们放在了一起。此外,我还没有重命名您的文本框,尽管
TextBox1
TextBox2
是非常糟糕的名称

更新

好的-您希望将内容存储在文本文件中,但我假设您希望将指向文本文件的链接存储在数据库中(您不是很具体)

表定义:

CREATE TABLE WhoIsData
(
    Id INT PRIMARY KEY IDENTITY(1,1),
    DomainName NVARCHAR(256),
    WhoIsFile NVARCHAR(256)
)
C#代码:


同样,我还没有测试过这个,但它大致上就是您想要做的。此外,您还需要提供一种生成文件名的机制,我刚刚使用了guid,因为它几乎可以保证唯一性。

这不是一个真正的问题->“现在我需要将显示的值作为文本文件存储到数据库中…”你的意思是你想把所有的文本都放在数据库的一列中吗?不,我只想把内容存储在一个文本文件中,然后把内容名存储在数据库中。我已经更新了我的答案。
CREATE TABLE WhoIsData
(
    Id INT PRIMARY KEY IDENTITY(1,1),
    DomainName NVARCHAR(256),
    WhoIsFile NVARCHAR(256)
)
string st = TextBox1.Text;
wservices.whois myservices = new wservices.whois();
string textData = myservices.GetWhoIS(st);
TextBox2.Text = textData;

string fileName = Guid.NewGuid().ToString();
using(var file = File.OpenWrite(fileName))
{
    file.Write(textData);
}

using(SqlConnection conn = new SqlConnection(connectionString));
{
  SqlCommand cmd = new SqlCommand("INSERT INTO WhoIsData(DomainName, WhoIsFile) VALUES(@domainName, @fileName);");
  cmd.Connection = conn;
  cmd.Parameters.AddWithValue("@fileName", fileName);
  cmd.Parameters.AddWithValue("@domainName", domainName);
  conn.Open();
  cmd.ExecuteNonQuery();
}