向数据库添加记录包括几张照片

时间:2014-07-17 18:45:07

标签: c# sql-server file-upload

我有一个管理面板,属于C#中的新闻网站。每条记录(新闻)必须有一张或多张照片。照片将显示在滑块中。所以我不知道用户上传了多少照片。我的数据库中有两个表,Pics(PicID,NewsID,PicName,PicOrder)和新闻(NewsID,NewsHeader,NewsContent)。我可以将新闻标题和新闻内容添加到新闻表中。但我不知道如何将我的照片和我的图片名称添加到Pics表中。 FileUpload控件很有用,但我不知道将上传多少张照片。

string path= ConfigurationManager.ConnectionStrings["GUNABConnectionString"].ConnectionString;

    SqlConnection con = new SqlConnection(path);

    SqlCommand[] cmd = new SqlCommand[1];
    string query= "Insert into News (NewsHeader, NewsContent) values (@NewsHeader, @NewsContent)";
    cmd[0] = new SqlCommand();
    cmd[0].CommandType = CommandType.Text;
    cmd[0].Parameters.Add("@NewsHeader", SqlDbType.VarChar, 40).Value = TextBox1.Text;
    cmd[0].Parameters.Add("@NewsContent", SqlDbType.VarChar, 8000).Value = TextBox2.Text;

    cmd[0].CommandText = query;

    if (new dab().execute(cmd) == true)
    {
        StatusLabel.Text = "News Added";
    }
    else
    {

    } 

1 个答案:

答案 0 :(得分:0)

将插入更改为以下内容:

Insert into News
(NewsHeader, NewsContent)
OUTPUT inserted.NewsId
values
(@NewsHeader, @NewsContent)

然后只需使用cmd.ExecuteScalar()来检索输出提供的值,例如

int key = (int)cmd.ExecuteScalar();

然后,您可以使用该键插入关联的图像。

如果问题与添加图片有关,假设您在C#中将其作为System.Drawing.BitmapSystem.Drawing.Image,则应该能够将其传递给image数据库字段类型将其添加为普通参数。

相关问题